Skip to content

Latest commit

 

History

History
46 lines (41 loc) · 1.59 KB

File metadata and controls

46 lines (41 loc) · 1.59 KB

Common Lisp Virtual Input Devices for Linux with /dev/uinput and evdev

diagram

  • userspace virtual input devices
  • pipe created at /tmp/cl-uinput-pipe for /dev/uinput access
  • multiplex, filter, and process input devices with Common Lisp

Dependencies

Install

API

(start-uinput-pipe-listener)
(write-uinput-pipe "boo!")
(start-evdev-listener "/dev/input/event4")
(usleep 1500)
;; enter keyboard input
(close-evdev-listener)
(close-uinput-pipe-listener)

Todo

  • start/stop virtual-devices uinput_listener
  • start/stop evdev input device -> virtual-device
  • register evdev binds (evdev -> uninput_listener keys (Esc -> Ret))
  • sbcl evdev keys global REPL then
  • record -> uinput pipe
  • register /dev/input/event4 virtual device events (send-key)
  • key macro uinput_listener, from record (hotkey begin)
  • define and send macros from keyboard -> SBCL -> uinput virtual device
  • tests