From e276a64f9dadbc3f4f6591074e0b78db0516920d Mon Sep 17 00:00:00 2001 From: Thomas Ulmer Date: Fri, 9 Jan 2026 17:40:24 -0800 Subject: add reliable c2e and unclutter --- .gitmodules | 9 +++++++++ niceties/capslock/caps2esc | 7 +++++++ niceties/capslock/caps2esc-tools | 1 + niceties/capslock/caps2escd | 5 +++++ niceties/capslock/interception-tools | 1 + niceties/capslock/udevmon.yaml | 6 ++++++ niceties/setup.sh | 25 +++++++++++++++++++++++++ niceties/unclutter-xfixes | 1 + 8 files changed, 55 insertions(+) create mode 100755 niceties/capslock/caps2esc create mode 160000 niceties/capslock/caps2esc-tools create mode 100755 niceties/capslock/caps2escd create mode 160000 niceties/capslock/interception-tools create mode 100644 niceties/capslock/udevmon.yaml create mode 100755 niceties/setup.sh create mode 160000 niceties/unclutter-xfixes 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 index 0000000..6ad0031 --- /dev/null +++ b/niceties/capslock/caps2esc-tools @@ -0,0 +1 @@ +Subproject commit 6ad00311380254ce6c879f08456238c52b5f44c8 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 index 0000000..d1ac611 --- /dev/null +++ b/niceties/capslock/interception-tools @@ -0,0 +1 @@ +Subproject commit d1ac6116d4c28743f2931f0d94609c52de0149af 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 index 0000000..0eb7a8f --- /dev/null +++ b/niceties/unclutter-xfixes @@ -0,0 +1 @@ +Subproject commit 0eb7a8f4365c05d09db048bd1a45f8943c1d5da3 -- cgit v1.2.3