diff --git a/drv_G15.c b/drv_G15.c index 6bc6415..50cda2c 100644 --- a/drv_G15.c +++ b/drv_G15.c @@ -106,6 +106,13 @@ void drv_G15_keyDown(unsigned char scancode) event.code = scancode; event.value = 1; write(uinput_fd, &event, sizeof(event)); + +/* hopefully this makes the system report the keys */ + + event.type = EV_SYN; + event.code = SYN_REPORT; + event.value = 0; + write(uinput_fd, &event, sizeof(event)); } void drv_G15_keyUp(unsigned char scancode) @@ -117,6 +124,13 @@ void drv_G15_keyUp(unsigned char scancode) event.code = scancode; event.value = 0; write(uinput_fd, &event, sizeof(event)); + +/* hopefully this makes the system report the keys */ + + event.type = EV_SYN; + event.code = SYN_REPORT; + event.value = 0; + write(uinput_fd, &event, sizeof(event)); } void drv_G15_keyDownUp(unsigned char scancode)