Close

button inputs

A project log for Logitech G13 kernel module

It can't be that hard right? Linux kernel has modules for G11/G510, it should fit in right?

stephengeorgeweststephengeorgewest 10/15/2021 at 14:470 Comments
G1:
01 7a 7c 01 00 00 00 00
G22:
01 7a 7c 00 00 20 00 00
Left of lcd button:
01 7a 7c 00 00 00 01 00
M1
01 7a 7c 00 00 00 20 00
M3
01 7a 7c 00 00 00 80 00

MR
01 7a 7c 00 00 00 00 81
MR (release)
01 7a 7c 00 00 00 00 80
G1 (after MR):
01 7a 7c 01 00 00 00 80

click bottom:
01 7a 7c 00 00 00 00 84
click left:
01 7a 7c 01 00 00 00 02
click stick:
?probably in byte7 next to left/bottom
move stick:
?probably byte1/2

https://github.com/ecraven/g13/blob/master/g13_keys.cc seems to match

stephen@ao751h:~/Documents/projects/g13$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      AT Translated Set 2 keyboard
/dev/input/event1:      Lid Switch
/dev/input/event2:      Power Button
/dev/input/event3:      Sleep Button
/dev/input/event4:      Video Bus
/dev/input/event5:      SynPS/2 Synaptics TouchPad
/dev/input/event6:      Logitech Gaming Keyboard Gaming Keys
/dev/input/event7:      PC Speaker
/dev/input/event8:      WebCam: Webcam
/dev/input/event9:      HDA Digital PCBeep
/dev/input/event10:     HDA Intel MID Mic
/dev/input/event11:     HDA Intel MID Headphone
Select the device event number [0-11]: 6
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x46d product 0xc21c version 0x111
Input device name: "Logitech Gaming Keyboard Gaming Keys"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 656 (?)
    Event code 657 (?)
    Event code 658 (?)
    Event code 659 (?)
    Event code 660 (?)
    Event code 661 (?)
    Event code 662 (?)
    Event code 663 (?)
    Event code 664 (?)
    Event code 665 (?)
    Event code 666 (?)
    Event code 667 (?)
    Event code 668 (?)
    Event code 669 (?)
    Event code 670 (?)
    Event code 671 (?)
    Event code 672 (?)
    Event code 673 (?)
    Event code 674 (?)
    Event code 675 (?)
    Event code 676 (?)
    Event code 677 (?)
    Event code 688 (?)
    Event code 691 (?)
    Event code 692 (?)
    Event code 693 (?)
    Event code 696 (?)
    Event code 697 (?)
    Event code 698 (?)
    Event code 699 (?)
    Event code 700 (?)
Properties:
Testing ... (interrupt to exit)
Event: time 1634308318.780218, type 1 (EV_KEY), code 696 (?), value 1
Event: time 1634308318.780218, -------------- SYN_REPORT ------------
Event: time 1634308318.974217, type 1 (EV_KEY), code 696 (?), value 0
Event: time 1634308318.974217, -------------- SYN_REPORT ------------
Event: time 1634308320.244265, type 1 (EV_KEY), code 697 (?), value 1
Event: time 1634308320.244265, -------------- SYN_REPORT ------------
Event: time 1634308320.436316, type 1 (EV_KEY), code 697 (?), value 0
Event: time 1634308320.436316, -------------- SYN_REPORT ------------
Event: time 1634308320.898140, type 1 (EV_KEY), code 698 (?), value 1
Event: time 1634308320.898140, -------------- SYN_REPORT ------------
Event: time 1634308321.088286, type 1 (EV_KEY), code 698 (?), value 0
Event: time 1634308321.088286, -------------- SYN_REPORT ------------
Event: time 1634308321.480297, type 1 (EV_KEY), code 699 (?), value 1
Event: time 1634308321.480297, -------------- SYN_REPORT ------------
Event: time 1634308321.654302, type 1 (EV_KEY), code 699 (?), value 0
Event: time 1634308321.654302, -------------- SYN_REPORT ------------
Event: time 1634308322.038312, type 1 (EV_KEY), code 700 (?), value 1
Event: time 1634308322.038312, -------------- SYN_REPORT ------------
Event: time 1634308322.238330, type 1 (EV_KEY), code 700 (?), value 0
Event: time 1634308322.238330, -------------- SYN_REPORT ------------
Event: time 1634308330.802539, type 1 (EV_KEY), code 691 (?), value 1
Event: time 1634308330.802539, -------------- SYN_REPORT ------------
Event: time 1634308330.932562, type 1 (EV_KEY), code 691 (?), value 0
Event: time 1634308330.932562, -------------- SYN_REPORT ------------
Event: time 1634308331.448373, type 1 (EV_KEY), code 692 (?), value 1
Event: time 1634308331.448373, -------------- SYN_REPORT ------------
Event: time 1634308331.550427, type 1 (EV_KEY), code 692 (?), value 0
Event: time 1634308331.550427, -------------- SYN_REPORT ------------
Event: time 1634308331.992437, type 1 (EV_KEY), code 693 (?), value 1
Event: time 1634308331.992437, -------------- SYN_REPORT ------------
Event: time 1634308332.206598, type 1 (EV_KEY), code 693 (?), value 0
Event: time 1634308332.206598, -------------- SYN_REPORT ------------
Event: time 1634308332.812414, type 1 (EV_KEY), code 688 (?), value 1
Event: time 1634308332.812414, -------------- SYN_REPORT ------------
Event: time 1634308332.994613, type 1 (EV_KEY), code 688 (?), value 0
Event: time 1634308332.994613, -------------- SYN_REPORT ------------
Event: time 1634308334.762660, type 1 (EV_KEY), code 688 (?), value 1
Event: time 1634308334.762660, -------------- SYN_REPORT ------------
Event: time 1634308334.848479, type 1 (EV_KEY), code 688 (?), value 0
Event: time 1634308334.848479, -------------- SYN_REPORT ------------
Event: time 1634308335.448460, type 1 (EV_KEY), code 688 (?), value 1
Event: time 1634308335.448460, -------------- SYN_REPORT ------------
Event: time 1634308335.588468, type 1 (EV_KEY), code 688 (?), value 0
Event: time 1634308335.588468, -------------- SYN_REPORT ------------
^C

success? How do applications use these anyway?

Discussions