about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/inputmethods/interception-tools
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/inputmethods/interception-tools')
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/interception-tools/caps2esc.nix24
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/interception-tools/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix35
3 files changed, 83 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/inputmethods/interception-tools/caps2esc.nix b/nixpkgs/pkgs/tools/inputmethods/interception-tools/caps2esc.nix
new file mode 100644
index 000000000000..933a731828fb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/interception-tools/caps2esc.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchFromGitLab, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "caps2esc";
+  version = "0.3.2";
+
+  src = fetchFromGitLab {
+    group = "interception";
+    owner = "linux/plugins";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-gPFElAixiDTTwcl2XKM7MbTkpRrg8ToO5K7H8kz3DHk=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.com/interception/linux/plugins/caps2esc";
+    description = "Transforming the most useless key ever into the most useful one";
+    license = licenses.mit;
+    maintainers = [ maintainers.vyp ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/interception-tools/default.nix b/nixpkgs/pkgs/tools/inputmethods/interception-tools/default.nix
new file mode 100644
index 000000000000..843584a7d443
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/interception-tools/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchFromGitLab, pkg-config, cmake, yaml-cpp,
+  libevdev, udev, boost }:
+
+stdenv.mkDerivation rec {
+  pname = "interception-tools";
+  version = "0.6.8";
+  src = fetchFromGitLab {
+    owner = "interception/linux";
+    repo = "tools";
+    rev = "v${version}";
+    sha256 = "sha256-jhdgfCWbkF+jD/iXsJ+fYKOtPymxcC46Q4w0aqpvcek=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ libevdev udev yaml-cpp boost ];
+
+  meta = {
+    description = "A minimal composable infrastructure on top of libudev and libevdev";
+    homepage = "https://gitlab.com/interception/linux/tools";
+    license = lib.licenses.gpl3Only;
+    maintainers = [ lib.maintainers.vyp ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix b/nixpkgs/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix
new file mode 100644
index 000000000000..022e7dfa0389
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchFromGitLab, pkg-config, yaml-cpp, libevdev }:
+
+stdenv.mkDerivation rec {
+  pname = "dual-function-keys";
+  version = "1.5.0";
+
+  src = fetchFromGitLab {
+    group = "interception";
+    owner = "linux/plugins";
+    repo = pname;
+    rev = version;
+    hash = "sha256-m/oEczUNKqj0gs/zMOIBxoQaffNg+YyPINMXArkATJ4=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ libevdev yaml-cpp ];
+
+  prePatch = ''
+    substituteInPlace config.mk --replace \
+      '/usr/include/libevdev-1.0' \
+      "$(pkg-config --cflags libevdev | cut -c 3-)"
+  '';
+
+  installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.com/interception/linux/plugins/dual-function-keys";
+    description = "Tap for one key, hold for another";
+    license = licenses.mit;
+    maintainers = with maintainers; [ svend ];
+    platforms = platforms.linux;
+    mainProgram = "dual-function-keys";
+  };
+}