ipc: a modifier keysym is no key
Shift, Control, and their kin were mapped to special keys that the engine then had a range and a check to ignore, and the GTK module made a round trip to the daemon for each press. ipckeysym maps them to key 0, which was already the "no key" every frontend and the engine skip; Kmodfirst, Kmodlast, and ismodkey go.
This commit is contained in:
8
ipc.c
8
ipc.c
@@ -165,15 +165,17 @@ ipcconnect(void)
|
||||
|
||||
/*
|
||||
* Engine key for an X keysym and its Unicode value: printable characters
|
||||
* as themselves, the function keysyms 0xff00-0xffff as Kspec+offset.
|
||||
* The keypad keys and Shift+Tab (ISO_Left_Tab) fold onto their plain
|
||||
* counterparts.
|
||||
* as themselves, the function keysyms 0xff00-0xffff as Kspec+offset, and
|
||||
* no key at all for a modifier. The keypad keys and Shift+Tab
|
||||
* (ISO_Left_Tab) fold onto their plain counterparts.
|
||||
*/
|
||||
uint32_t
|
||||
ipckeysym(uint32_t sym, uint32_t unicode)
|
||||
{
|
||||
if(unicode >= ' ' && unicode != 0x7f)
|
||||
return unicode;
|
||||
if(sym >= 0xffe1 && sym <= 0xffee)
|
||||
return 0;
|
||||
switch(sym){
|
||||
case 0xfe20:
|
||||
case 0xff89:
|
||||
|
||||
Reference in New Issue
Block a user