summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Ulmer <thomasmulmer02@gmail.com>2026-01-09 17:40:24 -0800
committerThomas Ulmer <thomasmulmer02@gmail.com>2026-01-10 17:34:53 -0800
commite276a64f9dadbc3f4f6591074e0b78db0516920d (patch)
tree56f90e047e2a976b3e316b6301f3b92795af11a9
parent3b4481c8d3b3cf6cc56221f84651b09846aec988 (diff)
add reliable c2e and unclutter
-rw-r--r--.gitmodules9
-rwxr-xr-xniceties/capslock/caps2esc7
m---------niceties/capslock/caps2esc-tools0
-rwxr-xr-xniceties/capslock/caps2escd5
m---------niceties/capslock/interception-tools0
-rw-r--r--niceties/capslock/udevmon.yaml6
-rwxr-xr-xniceties/setup.sh25
m---------niceties/unclutter-xfixes0
8 files changed, 52 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
index f9d6815..81c3985 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,12 @@
[submodule "emacs-source"]
path = emacs-source
url = git://git.savannah.gnu.org/emacs.git
+[submodule "capslock/interception-tools"]
+ path = niceties/capslock/interception-tools
+ url = https://gitlab.com/interception/linux/tools
+[submodule "capslock/caps2esc"]
+ path = niceties/capslock/caps2esc-tools
+ url = https://gitlab.com/interception/linux/plugins/caps2esc
+[submodule "niceties/unclutter-xfixes"]
+ path = niceties/unclutter-xfixes
+ url = https://github.com/Airblader/unclutter-xfixes
diff --git a/niceties/capslock/caps2esc b/niceties/capslock/caps2esc
new file mode 100755
index 0000000..ba0ed6f
--- /dev/null
+++ b/niceties/capslock/caps2esc
@@ -0,0 +1,7 @@
+#!/sbin/openrc-run
+
+name="caps2esc"
+command="/usr/sbin/caps2escd"
+command_background=true
+pidfile="/run/caps2esc.pid"
+
diff --git a/niceties/capslock/caps2esc-tools b/niceties/capslock/caps2esc-tools
new file mode 160000
+Subproject 6ad00311380254ce6c879f08456238c52b5f44c
diff --git a/niceties/capslock/caps2escd b/niceties/capslock/caps2escd
new file mode 100755
index 0000000..99539a4
--- /dev/null
+++ b/niceties/capslock/caps2escd
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# run udevmon with default settings
+udevmon -c /etc/default/udevmon.yaml
+
diff --git a/niceties/capslock/interception-tools b/niceties/capslock/interception-tools
new file mode 160000
+Subproject d1ac6116d4c28743f2931f0d94609c52de0149a
diff --git a/niceties/capslock/udevmon.yaml b/niceties/capslock/udevmon.yaml
new file mode 100644
index 0000000..fd29ef6
--- /dev/null
+++ b/niceties/capslock/udevmon.yaml
@@ -0,0 +1,6 @@
+- JOB:
+ - intercept -g $DEVNODE | caps2esc -m 1 | uinput -d $DEVNODE
+ DEVICE:
+ #NAME: ".*((k|K)(eyboard|EYBOARD)|TADA68).*"
+ EVENTS:
+ EV_KEY: [KEY_CAPSLOCK, KEY_ESC]
diff --git a/niceties/setup.sh b/niceties/setup.sh
new file mode 100755
index 0000000..d2367c9
--- /dev/null
+++ b/niceties/setup.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+set -e
+set -x
+
+sed -i -e 's_^PREFIX=.*$_PREFIX=${HOME}/.local_' unclutter-xfixes/Makefile
+
+cd unclutter-xfixes
+make
+make install
+cd ..
+
+cd capslock
+sudo ln -s ${PWD}/udevmon.yaml /etc/default/udevmon.yaml
+sudo ln -s ${PWD}/caps2esc /etc/init.d/caps2esc
+sudo ln -s ${PWD}/caps2escd /usr/sbin/caps2escd
+cd interception-tools
+cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_POLICY_VERSION_MINIMUM=3.5 .
+cmake --build build
+sudo cmake --install build
+cd ../caps2esc-tools
+cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_POLICY_VERSION_MINIMUM=3.5 .
+cmake --build build
+sudo cmake --install build
+
diff --git a/niceties/unclutter-xfixes b/niceties/unclutter-xfixes
new file mode 160000
+Subproject 0eb7a8f4365c05d09db048bd1a45f8943c1d5da