So, I've recently purchased the named keyboard and have been doing some reverse engineering as to how the Logitech Gaming Software does things with it. In this process I've discovered that a few magic packets are sent to the device to unbind the default f1-6 from g1-6; however after this part things get tricky. None of the special keys (m1-3, mr, g1-6) report any scancode according to any standard tool, and that they all send hid reports on the same usage, ff00.0003, using bitwise logic.

Each key sends an hid report in the following format: 03 gg mm where gg is g# = (0x01 << #-1) and mm is m# = (0x01 << #-1) [mr treated as m4 for this math), so pressing g1 and g2 at the same time yields 04 03 01 and so on; the values are ANDd together.

As such, I cannot find any particularly useful way of mapping these hid reports to a known scancode (say, BTN_TRIGGER_HAPPY?) for easy userspace remapping with xbindkeys or the like.

You can find an extensive dump of information on this keyboard at https://github.com/GSeriesDev/gseries-tools/blob/master/g105/info , if its of any help.


There is now a Linux driver for the Logitech G105 Keyboard, it's called sidewinderd, available on github.

| improve this answer | |
  • 1
    I'm aware, I actually contributed the code that enabled the G105 to that project. – hanetzer Nov 28 '16 at 11:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.