Skip to content

low level input_event mapper for virtual layers inspired by ergodox

Notifications You must be signed in to change notification settings

PeterZainzinger/schoenberg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

schoenberg

Is a low level input_event mapper for virtual layers inspired by ergodox. It's ought to be used in combination with interception tools.

Features

  • map an arbitrary key to another key
  • switch to other layer with different key mapping

Example configuration:

mapping:
  ESC: CAPSLOCK
  CAPSLOCK: ESC

layers:
  - name: right hand
    prefix: F
    keys:
      J: DOWN
      K: UP
      H: LEFT
      L: RIGHT

Getting Started

  • install interception tools and its dependencies and add the binaries to the path, for example udevmon.
  • build an schoenberg_run executable with cmake . && make. In the nix shell started with nix-shell --pure this should work out of the box.
  • create a config.yaml file, see tst/test.yaml for an example. The name of the keys correspond with the event names in include/uapi/linux/input-event-codes.h.
  • create a udevmon.yaml. Here schoenberg_run and config.yaml have to adapted.
- JOB: "intercept -g $DEVNODE | ./src/schoenberg_run ./tst/test.yaml | uinput -d $DEVNODE"
  DEVICE:
    EVENTS:
      EV_KEY: [KEY_S]

NOTE the value of EV_KEY can be anything as long as its not empty.

  • start the udevmon daemon.
sudo udevmon -c udevmon.yaml 

About

low level input_event mapper for virtual layers inspired by ergodox

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published