Package: wnpp Severity: wishlist Owner: Osamu Aoki <os...@debian.org> X-Debbugs-Cc: debian-devel@lists.debian.org, Ethan Djeric <m...@ethandjeric.com>, Francisco Lopes <franci...@nosubstance.me>
* Package name : interception-tools Version : 0.6.8 Upstream Author : Francisco Lopes <franci...@nosubstance.me> * URL : https://gitlab.com/interception/linux/tools * License : GPLv3 Programming Lang: C, C++ Description : minimal composable infrastructure on top of libudev and libevdev The Interception Tools is a small set of utilities for operating on input events of evdev devices, including udevmon, intercept, uninput and mux. In short, this is a generic helper tool to mangle keyboard input in very low level within Linux kernel. This works for Wayland, X, or Linux virtual console. Home position mod-tap etc. can be implemented using this. Longer explanation goes: The tools here relying on libevdev are intercept and uinput. intercept's purpose is to capture input from a given device (optionally grabbing it) and write such raw input to stdout. uinput does the reverse, it receives raw input from stdin and write it to a virtual uinput device created by cloning characteristics of real devices, from YAML configuration, or both. So, assuming $DEVNODE as the path of the device, something like /dev/input/by-id/some-kbd-id, the following results in a no-op: intercept -g $DEVNODE | uinput -d $DEVNODE In this case using -g is important so that the target device is grabbed for exclusive access, allowing the new virtual device created by uinput to substitute it completely: we grab it and others can grab the clone. Now additional processing can be added in the middle easily. There were Ubuntu PPA by Ethan Djeric <m...@ethandjeric.com>. I used it as the starting point. I have tidied up packaging so it can pass piuparts and lintian test. I also created manpages. At this moment, I have this on github and in good shape. Once accepted, I will move this to salsa. https://github.com/osamuaoki/interception-tools This offer 4 commands and one of it is "intercept". Debian already have "intercept" in the "bear" package. As you know generic name and short name are problematic. I am wondering if I need to rename as: intercept -> evdev-intercept udevmon -> evdev-udevmon uinput -> evdev-uinput mux -> evdev-mux (I am asking thought of upstream too.) Here are associated programs to give idea what we can. Additional Tools uswitch: redirect stdin to a muxer if logged user matches xswitch: redirect stdin to a muxer if window matches Official Plugins caps2esc: transforming the most useless key ever in the most useful one space2meta: turn your space key into the meta key when chorded to another key (on key release only) hideaway: move the mouse pointer out of sight after a couple of seconds dual-function-keys: tap for one key, hold for another Some Community Plugins ralt2hyper: Remap Right Alt (commonly AltGr) to Hyper (i.e. Control, Alt and Super) chorded_keymap interception-vimproved interception-k2k Also, if Ubuntu PPA person wishes to co-maintain, I will be happy to sponsor. Regards, Osamu