wlc icon indicating copy to clipboard operation
wlc copied to clipboard

Provide API for accessing and configuring input devices

Open Cloudef opened this issue 10 years ago • 7 comments

Multiple keyboards with different layouts and rules is useful. So may be other device specific configuration (like disabling touchpad and so on).

Cloudef avatar Feb 26 '15 10:02 Cloudef

The general idea is that hacks like detecting a plugged in keyboard and setting keyboard options for the currently plugged one with a script are very brittle and hard to pull off correctly.

Xorg offers you to set XKB options both generally and for matching devices, with that functionality one can have keyboard-specific options that just work. It appears as if all keyboard input is matched against the device information and specified options.

Own config.

wasamasa avatar Feb 26 '15 10:02 wasamasa

For now I exposed libinput devices in wlc.h, this probably makes most sense. But I keep this issue open if there are problems.

Cloudef avatar Aug 25 '15 20:08 Cloudef

I also exposed xkb_keymap and xkb_state, however no multiple keyboards yet nor layout configuration ...

Cloudef avatar Aug 25 '15 20:08 Cloudef

I've handed in an enhancement request for libinput: https://bugs.freedesktop.org/show_bug.cgi?id=98194

wasamasa avatar Oct 10 '16 14:10 wasamasa

Yep, I'm considering moving to Sway from AwesomeWM on Xorg, but I use dvorak - software on my laptop's internal keyboard, and hardware on my ErgoDox EZ. It took some fighting with xorg.conf, but it was doable. I see no real way of doing this in any wayland compositor I've looked into so far, short of using an XKB toggle key (maybe the AppMenu key? That annoying thing bound to Fn+RCtrl on my laptop internal board?)

klardotsh avatar Oct 19 '16 03:10 klardotsh

All of those Xkb* options are exposed via environment variables which xkbcommon uses, e.g. XKB_DEFAULT_LAYOUT, XKB_DEFAULT_OPTIONS, XKB_DEFAULT_VARIANT, etc.

They all accept the same format and arguments as the xorg.conf.

Earnestly avatar Oct 19 '16 12:10 Earnestly

@iv597 I finally solved this in a global manner by writing my own hwdb rules that match per device, that way I only need to enable a compose key rule in Xorg (with setxkbmap or a config option) and Wayland (with XKB_DEFAULT_OPTIONS). In other words, I'm inclined to close this issue, but won't as there's a linked one that cannot be solved this way.

Relevant commit: https://github.com/wasamasa/dotfiles/commit/ca0825125ba0f026cafa3f4351a84eeaea25b410

wasamasa avatar Feb 02 '17 08:02 wasamasa