Skip to content

Instantly share code, notes, and snippets.

@TrevCan
Last active October 9, 2021 06:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TrevCan/ea7a0c677b4345c464e1e4c04b3ca43f to your computer and use it in GitHub Desktop.
Save TrevCan/ea7a0c677b4345c464e1e4c04b3ca43f to your computer and use it in GitHub Desktop.
udevmon sample 'catch-all' keyboard conf
# lives under /etc/interception/dual-function-keys/keyboard.yaml
#
TIMING:
TAP_MILLISEC: 200
DOUBLE_TAP_MILLISEC: 150
MAPPINGS:
- KEY: KEY_CAPSLOCK
TAP: KEY_ESC
HOLD: KEY_LEFTCTRL
- KEY: KEY_ENTER
TAP: KEY_ENTER
HOLD: KEY_RIGHTCTRL
- KEY: KEY_LEFTSHIFT
TAP: KEY_KPLEFTPAREN
HOLD: KEY_LEFTSHIFT
- KEY: KEY_RIGHTSHIFT
TAP: KEY_KPRIGHTPAREN
HOLD: KEY_RIGHTSHIFT
- KEY: KEY_LEFTCTRL
TAP: [ KEY_LEFTSHIFT, KEY_LEFTBRACE, ]
HOLD: KEY_LEFTCTRL
- KEY: KEY_RIGHTCTRL
TAP: [ KEY_RIGHTSHIFT, KEY_RIGHTBRACE, ]
HOLD: KEY_RIGHTCTRL
- KEY: KEY_TAB
TAP: [ KEY_TAB ]
HOLD: KEY_RIGHTMETA
# lives under /etc/interception/udevmon.yaml
#
# Keyboard configuration. Important parts are `NAME:` and `EV_KEY`. Get the name of the devices you want this to apply to by using the command `evtest`, you should see the name of your keyboard somewhere, type the number and follow the instructions.
- JOB: "intercept -g $DEVNODE | dual-function-keys -c /etc/interception/dual-function-keys/keyboard.yaml | uinput -d $DEVNODE"
DEVICE:
NAME: .*[Kk]eyboard.*
EVENTS:
EV_KEY: [KEY_CAPSLOCK, KEY_ENTER, KEY_LEFTSHIFT, KEY_RIGHTSHIFT, KEY_LEFTCTRL, KEY_RIGHTCTRL, KEY_TAB]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment