I’ve killed X

Note (2020-05-03): this post was recovered thanks to Internet Archive’s Wayback Machine. Consider donating to the Archive to make sure content, important or not, is not lost in the continuous software update cycle.

Ok following my last entry, today I took the combination of situations to go finding a new keyboard with my sister.

The keyboard which I chosen between the not-so-vast-but-neither-too-small selection I had on the shop I gone is a Logitech Cordless Desktop LX700; it has a lot of extra keys which I really really like, and also if the mouse is now my third optical mouse at home, it’s quite handy.

Unfortunately, I had a couple of problems trying to get it working. Well actually the base keyboard works fine, but as I paid it a bit too much (€99.95), I really really want it to work completely, and this requires the use of all the keys, of the zoom pad, of the mouse extra buttons and so on.

It has USB connection and it’s seen as two HID devices, sending different kinds of events depending on the keys. And this is a good thing because it can be completely remapped, and not only remapped when the keys aren’t strictly bound like it was on the old keyboard.

The scroll wheel works fine, too.

The problem now is that the extra keys aren’t seen by the kernel (showkey outputs nothing), and they are just available with the evdev driver (I’m using Xorg so that’s not really a problem), but also using that I had problems.

For example the zoom pad was registered as V and C (instead of zoom+ zoom-).. searching, I found that the code sent by zoom+ (0x12F) was a combination of 0x01 and 0x2F which is the code of ‘V’. This because Xorg uses 8-bit keycodes in the input layer and 32-bit keycodes in the external interface.

I’m currently building an xorg where all the keycodes variable are 16-bit but I’m not sure if that would work completely.. my first try gone wild and rejects every key from the keyboard itself.
I hope this will come to something good as supporting new keyboards like that is something really really interesting and I don’t want to use just partially something which costed me almost €100..
Last time I bough a keyboard, I managed to have the scroll wheel working with the help of Vojtěch Pavlík (thanks to jkt for the correction, I know what it means seeing the name “wronged” by ascii-reduction), maybe this time I’ll manage to have the extra keys working.

When this will work, I’ll recommend this keyboard to everyone as it seems to be quite good as keypresses and as general quality… just it doesn’t completely work on Linux for now 😛