Заставьте мышку двигаться с разной скоростью в зависимости от модификаторов
У меня есть настройки XKB, так что если я удерживаю caps lock, мои HTNS-ключи (эквивалент qwerty будет JKL;) работают для перемещения мыши.
Теперь я хочу, чтобы мышь перемещалась на меньшее расстояние, если я также удерживаю клавишу Shift. Но я не могу понять это.
Это дает мне основные движения:
interpret Pointer_Left { repeat= True; action= MovePtr(x=-100,y=+0); };
и он перемещается на 100 пикселей, независимо от того, удержал ли меня сдвиг или нет.
Чтобы получить сменное поведение, я пробовал разные вещи. Кажется, это работает точно так же, как и выше:
interpret Pointer_Left { repeat= True; action= MovePtr(x=-100,y=+0); }; interpret Pointer_Left+AnyOf(Shift) { repeat= True; action= MovePtr(x=-10,y=+0); };
Между тем, это полностью отключает поведение, я вообще не могу переместить мышь влево с помощью клавиатуры:
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); };
и так (где я полностью удаляю действие -100):
interpret Pointer_Left+AnyOf(Shift) { repeat= True; action= MovePtr(x=-10,y=+0); };
Я также попробовал два определения для привязанного к нему ключа, не замечая никаких изменений в поведении:
key <AC07> { type= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ h, H, Pointer_Left, Pointer_Left ] };
а также
key <AC07> { type= "THREE_LEVEL", symbols[Group1]= [ h, H, Pointer_Left ] };
где эти типы определены как
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 ответов на вопрос
Похожие вопросы
-
1
Переназначить FN на другой ключ
-
2
Как сопоставить клавиатуру Mac с компоновкой ПК?
-
4
Как переназначить клавишу извлечения на клавиатуре MacBook, чтобы «удалить»?
-
-
10
Есть ли какое-нибудь программное обеспечение, чтобы помочь мне изучить макет Dvorak?
-
6
Беспроводная (алюминиевая) клавиатура Apple на Windows
-
6
Лучшая клавиатура со встроенным указательным устройством для медиацентра Mac?
-
3
Хэш-ключ через Bootcamp на MacBook Pro
-
10
Переназначение клавиши caps lock в Windows или OS X
-
10
Как почистить клавиатуру
-
9
Как отключить или переназначить клавишу «Windows»?