I don't know what your fix is, but it seems to work, here is my output:
// pressing left Ctrl
KeyPress event, serial 36, synthetic NO, window 0x4400001, root 0x1a7, subw 0x0, time 4885397, (45,174), root:(1474,224), state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False
// pressing space
KeyPress event, serial 36, synthetic NO, window 0x4400001, root 0x1a7, subw 0x0, time 4885613, (45,174), root:(1474,224), state 0x14, keycode 65 (keysym 0x20, space), same_screen YES, XLookupString gives 1 bytes: (00) "" XmbLookupString gives 1 bytes: (00) "" XFilterEvent returns: False
// releasing space
KeyRelease event, serial 36, synthetic NO, window 0x4400001, root 0x1a7, subw 0x0, time 4885732, (45,174), root:(1474,224), state 0x14, keycode 65 (keysym 0x20, space), same_screen YES, XLookupString gives 1 bytes: (00) "" XFilterEvent returns: False
// releasing control
KeyRelease event, serial 36, synthetic NO, window 0x4400001, root 0x1a7, subw 0x0, time 4885877, (45,174), root:(1474,224), state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
------------------ pressing only space : ------------------
KeyPress event, serial 36, synthetic NO, window 0x4400001, root 0x1a7, subw 0x0, time 4886421, (45,174), root:(1474,224), state 0x10, keycode 65 (keysym 0x20, space), same_screen YES, XLookupString gives 1 bytes: (20) " " XmbLookupString gives 1 bytes: (20) " " XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4400001, root 0x1a7, subw 0x0, time 4886517, (45,174), root:(1474,224), state 0x10, keycode 65 (keysym 0x20, space), same_screen YES, XLookupString gives 1 bytes: (20) " " XFilterEvent returns: False
I don't know what your fix is, but it seems to work, here is my output:
// pressing left Ctrl
KeyPress event, serial 36, synthetic NO, window 0x4400001,
root 0x1a7, subw 0x0, time 4885397, (45,174), root:(1474,224),
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
// pressing space
KeyPress event, serial 36, synthetic NO, window 0x4400001,
root 0x1a7, subw 0x0, time 4885613, (45,174), root:(1474,224),
state 0x14, keycode 65 (keysym 0x20, space), same_screen YES,
XLookupString gives 1 bytes: (00) ""
XmbLookupString gives 1 bytes: (00) ""
XFilterEvent returns: False
// releasing space
KeyRelease event, serial 36, synthetic NO, window 0x4400001,
root 0x1a7, subw 0x0, time 4885732, (45,174), root:(1474,224),
state 0x14, keycode 65 (keysym 0x20, space), same_screen YES,
XLookupString gives 1 bytes: (00) ""
XFilterEvent returns: False
// releasing control
KeyRelease event, serial 36, synthetic NO, window 0x4400001,
root 0x1a7, subw 0x0, time 4885877, (45,174), root:(1474,224),
state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
------------------ pressing only space : ------------------
KeyPress event, serial 36, synthetic NO, window 0x4400001,
root 0x1a7, subw 0x0, time 4886421, (45,174), root:(1474,224),
state 0x10, keycode 65 (keysym 0x20, space), same_screen YES,
XLookupString gives 1 bytes: (20) " "
XmbLookupString gives 1 bytes: (20) " "
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4400001,
root 0x1a7, subw 0x0, time 4886517, (45,174), root:(1474,224),
state 0x10, keycode 65 (keysym 0x20, space), same_screen YES,
XLookupString gives 1 bytes: (20) " "
XFilterEvent returns: False