xtest revision bfd7cbc1
1default xkb_compatibility "xtest" { 2 3 // Minimal set of symbol interpretations to provide 4 // reasonable behavior for testing. The X Test 5 // Suite assumes that it can set any modifier by 6 // simulating a KeyPress and clear it by simulating 7 // a KeyRelease. Because of the way that XKB 8 // implements locking/latching modifiers, this 9 // approach fails in some cases (typically the 10 // lock or num lock modifiers). These symbol 11 // interpretations make all modifier keys just 12 // set the corresponding modifier so that xtest 13 // will see the behavior it expects. 14 15 virtual_modifiers NumLock,AltGr; 16 17 interpret.repeat= False; 18 setMods.clearLocks= True; 19 latchMods.clearLocks= True; 20 latchMods.latchToLock= False; 21 22 interpret Shift_Lock+AnyOf(Shift+Lock) { 23 action= SetMods(modifiers=Shift); 24 }; 25 26 interpret Num_Lock+Any { 27 virtualModifier= NumLock; 28 action= SetMods(modifiers=NumLock); 29 }; 30 31 interpret Mode_switch { 32 useModMapMods= level1; 33 virtualModifier= AltGr; 34 action= SetGroup(group=2); 35 }; 36 37 interpret Any + Any { 38 action= SetMods(modifiers=modMapMods); 39 }; 40 41 group 2 = AltGr; 42 group 3 = AltGr; 43 group 4 = AltGr; 44 45 indicator.allowExplicit= False; 46 indicator "Caps Lock" { 47 modifiers= Lock; 48 }; 49 indicator "Num Lock" { 50 modifiers= NumLock; 51 }; 52 indicator "Shift Lock" { 53 whichModState= Locked; 54 modifiers= Shift; 55 }; 56 indicator.allowExplicit= True; 57}; 58