Bewege die Mausklicks je nach Modifikator in verschiedene Geschwindigkeiten

277
philh

Ich habe mein XKB-Setup, so dass meine HTNS-Tasten (qwerty-Äquivalent wäre JKL;), wenn ich die Feststelltaste gedrückt halte, die Maus bewegen.

Was ich jetzt möchte, ist, dass die Maus weniger Entfernung zurücklegt, wenn ich auch die Umschalttaste gedrückt halte. Aber ich kann das nicht verstehen.

Dies gibt mir eine grundlegende Bewegung:

interpret Pointer_Left { repeat= True; action= MovePtr(x=-100,y=+0); }; 

und es bewegt sich 100 Pixel, egal ob ich die Umschalttaste gedrückt habe oder nicht.

Um das Schichtverhalten zu erreichen, habe ich verschiedene Dinge ausprobiert. Dies scheint genau wie oben zu funktionieren:

interpret Pointer_Left { repeat= True; action= MovePtr(x=-100,y=+0); }; interpret Pointer_Left+AnyOf(Shift) { repeat= True; action= MovePtr(x=-10,y=+0); }; 

Inzwischen ist dieses Verhalten vollständig deaktiviert, ich kann die Maus überhaupt nicht mit der Tastatur nach links bewegen:

interpret Pointer_Left+NoneOf(Shift) { repeat= True; action= MovePtr(x=-100,y=+0); }; interpret Pointer_Left+AnyOf(Shift) { repeat= True; action= MovePtr(x=-10,y=+0); }; 

und das auch (wenn ich die -100-Aktion vollständig entferne):

interpret Pointer_Left+AnyOf(Shift) { repeat= True; action= MovePtr(x=-10,y=+0); }; 

Ich habe auch zwei Definitionen für den daran gebundenen Schlüssel ausprobiert, ohne eine Verhaltensänderung zu bemerken:

key <AC07> { type= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ h, H, Pointer_Left, Pointer_Left ] }; 

und

key <AC07> { type= "THREE_LEVEL", symbols[Group1]= [ h, H, Pointer_Left ] }; 

wo diese Typen definiert sind als

type "THREE_LEVEL" { modifiers= Shift+LevelThree; map[Shift]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level3; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Level3"; };  type "FOUR_LEVEL_SEMIALPHABETIC" { modifiers= Shift+Lock+LevelThree; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level3; preserve[Lock+LevelThree]= Lock; map[Shift+Lock+LevelThree]= Level4; preserve[Shift+Lock+LevelThree]= Lock; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; }; 
0

0 Antworten auf die Frage