tech-x11 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Xorg keymap and wskbd keymap

Hash: SHA1


On Jun 20, 2010, at 3:42 AM, Matthieu Herrb wrote:

May I try to share my views on the subject ?

- the use of PC-AT inspired keycodes in X for all systems was a design
 decision back in the  XFreee86 times. It helped to keep the xf86 DDX
 code for the non-xkb case simple.
 But, given the limitations of this encoding (terrible "extended"
 keycodes, lack of standard mappings for extra keys,...) this was
 probably a mistake.

Yeah, it's a mess.

- So I've been thinking about moving away from xf86-input-keyboard for
 wscons too. This means writing a new xf86-input-wskbd input driver
 (or add keyboard support to the existing xf86-input-ws driver
 which can already replace xf86-input-mouse for wsmouse). This
 driver, together with a set of xkb keycode descriptions would allow
 to simplify the keyboard mapping process, by  removing the
 extra-layer of going through this awkward PC-AT emulation.

Sounds like the way to go.

- In the context of the X server, wsmux is a terrible design
 choice. It hides all keyboards behind one single device, with one
 single keymap. With XInput2 and XKB, the X server has the
 opportunity to configure each keyboard individually (with different
 layouts for example, which is one of the reasons I sometimes keep 2
 keyboards connected to a machine). Thus I think that BSD kernels
 should either give up on wsmux or change the mux protocol to add an
 identifier of the device that originally generated the event.

Or at least let all members in the mux use the same set of scancodes. I rather like the idea - I can hotplug USB keyboards and similar stuff without the Xserver needing to know or care. If I want the keyboards visible to the Xserver instead of hiding behind the mux I can still give each one its own xorg.conf entry. Of course things still get screwy if you have different layout variants on the same mux.

BTW the same remark applies to wsmux for pointing devices (wsmouse).

For basic pointing devices it works Just Fine(tm).
Which reminds me - did you guys add any code for tablet and touchscreen support? I have a tablet sitting her, sooner or later I'll have to get it supported properly and I'd rather not re-invent the wheel.

So if someone wants to grab the flag, and start implementing a wscons
specific X input driver, you'll have my support.

So much work, unfortunately real life needs way too much attention.

have fun

Version: GnuPG v1.4.7 (Darwin)


Home | Main Index | Thread Index | Old Index