
Hello xmonad world. My current desktop setup includes remote control unit, which sends keyboard events (for example, it sends Ctrl-P on Pause button). I want to handle such keypresses differently than keypresses from usual keyboard. For example, currently, if I press Ctrl-P on keyboard or Pause on the remote control, when Firefox window is active, both actions open Print dialog. But I want to run, for example, "mpc pause" on Pause button. AFAIK, one way to differ key/button press events from different devices is to use XInput X11 extension. That extension might allow us to do many other funny things; for example, we could get pressure value from wacom tablets, and so on. Technically, XInput support for XMonad will require FFI bindings to XInput client library (-lXi) and changes in events processing in xmonad core. Maybe, there should be new field in XMonad config, in addition to `keys' and `mouseBindings', to specify XInput events handlers. Currently i'm working on xinput FFI bindings. Questions are: * Could such changes in xmonad core events processing be accepted for xmonad-core? Note that they will introduce new system library dependency (-lXi in addition to existing -lX11). * What features of XInput might be useful for XMonad? For example, I don't know what to do with pressure value in window manager, but maybe someone knows? Any other thoughts are welcome too. With best regards, Ilya Portnov.