diff --git a/lib/modules/Protocols.pmod/X.pmod/Types.pmod b/lib/modules/Protocols.pmod/X.pmod/Types.pmod index 725fe577134a10494788c31f6ba3762ea376aa2d..a32d5379ec9e61339ccf40c2e92d9316d7cb7c16 100644 --- a/lib/modules/Protocols.pmod/X.pmod/Types.pmod +++ b/lib/modules/Protocols.pmod/X.pmod/Types.pmod @@ -194,23 +194,18 @@ class Window switch(sym) { case XK_Scroll_Lock: return 0; break; - case XK_Mode_switch: alt_gr = 0; return 0; - case XK_Num_Lock: num_lock = 0; return 0; + case XK_Mode_switch: alt_gr = 0; return; + case XK_Num_Lock: num_lock = 0; return; case XK_Shift_L: case XK_Shift_Lock: - case XK_Shift_R: shift=0; return 0; - case XK_Control_L: - case XK_Control_R: control=0; return 0; - case XK_Caps_Lock: caps_lock=0; return 0; - - case XK_Meta_L: - case XK_Meta_R: meta=0; return 0; - case XK_Alt_L: - case XK_Alt_R: alt=0; return 0; - case XK_Super_L: - case XK_Super_R: super=0; return 0; - case XK_Hyper_L: - case XK_Hyper_R: hyper=0; return 0; + case XK_Shift_R: shift=0; return; + case XK_Control_L: case XK_Control_R: control=0; return; + case XK_Caps_Lock: caps_lock=0; return; + + case XK_Meta_L: case XK_Meta_R: meta=0; return; + case XK_Alt_L: case XK_Alt_R: alt=0; return; + case XK_Super_L:case XK_Super_R: super=0; return; + case XK_Hyper_L: case XK_Hyper_R: hyper=0; return; } } @@ -273,10 +268,10 @@ class Window switch(keysym) { case XK_A..XK_Z: - case XK_a..XK_z: /* U����rk */ - keysym = keysym&0xdf; - if(!shift && !caps_lock) - keysym=keysym+0x20; + case XK_a..XK_z: + keysym = keysym&0xdf; // Upper.. + if(!shift && !caps_lock) // + keysym=keysym+0x20; // .. and lower .. break; case XK_Mode_switch: alt_gr = 1; return 0; @@ -297,11 +292,11 @@ class Window case XK_Hyper_R: hyper=1; return 0; } - compose_state += sprintf("%4c", keysym); - if(arrayp(compose_patterns[compose_state])) - return 0; - if(keysym) + + if(arrayp(compose_patterns[compose_state])) return 0; // More to come.. + + if(compose_patterns[compose_state]) { keysym = compose_patterns[compose_state]; compose_state=""; @@ -319,28 +314,23 @@ class Window return _LookupKeysym( keysym ); } - string handle_keys(mapping evnt) { int code=evnt->detail, keysym; evnt->keycode = code; array keysymopts = display->key_mapping[ code ]; -// werror(sprintf("%d%d", shift,alt_gr)); keysym = keysymopts[ alt_gr*2+shift ]; -// werror(sprintf("<%d{%{%d,%}}> ", keysym,keysymopts)); if( keysym ) + { if(evnt->type == "KeyPress") - { evnt->data = LookupKeysym( keysym ); - if(evnt->data) - werror("("+evnt->data+") "); - } else foreach(keysymopts, int k) ReleaseKey( k ); - evnt->keysym = keysym; + evnt->keysym = keysym; + } } object CreateWindow_req(int x, int y, int width, int height,