Как симулировать ввод с клавиатуры?

Это самое большое, что мешает мне наслаждаться Ubuntu / Linux.

В идеале, я хотел бы просто иметь возможность запускать свой скрипт AutoHotKey в Ubuntu, но мне не очень повезло, если бы он работал с Wine.

Вот что я делаю в AHK (использование дополнительных модификаторов также работает, Shift + Alt + l равно Shift < /kbd>+right).

!l:: Send, {Right}
+!l:: Send, +{Right}
^!l:: Send, ^{Right}
^+!l:: Send, ^+{Right}

Я попробовал AutoKey, но он не потреблял ввод, переназначение Alt + I на клавишу со стрелкой вправо сработало, но оно все еще выполняло Alt + I , который иногда выбирает элемент из меню приложения.

Самый близкий мне был xbindkeys для настройки горячих клавиш, это, кажется, работает отлично. И xvkbd для имитации ввода; эта часть действительно глючит; это работает не во всех программах и заставляет меня сильно терять фокус, среди других вопросов.

Для всех, кто интересуется, что я пытаюсь сделать: я использую I J K L в качестве стрелки клавиши, пока Alt не работает.

15
задан 28 July 2013 в 22:29

1 ответ

Я никогда не использовал xvkbd, но существует две других замечательных программы для моделирования ввода с клавиатуры, который я люблю и использую. Каждый xte и другой xdotool.

sudo apt-get install xautomation xdotool  

Оба xdotool и xte очень похожи, но так как я использую xte большинство я войду в то.

xte:

Наиболее базовый синтаксис для xte :

xte 'command key/mousebutton/xyCoordinates'

xte может сделать намного больше, чем, просто создают ввод с клавиатуры, хотя, он может также переместить Вашу мышь и моделировать нажатия кнопки мыши среди вещей других.

Примеры синтаксиса:

  • Назвать одно нажатие клавиши: xte 'key keyName'

  • Назвать сочетание клавиш: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

  • Назвать кнопку мыши: xte 'mouseclick buttonNumber' (Можно найти номера кнопки через xev)

  • Перемещать мышь: xte 'mousemove xCoordinate yCoordinate'

  • И больше! Читать man xte

Keynames:

Вот список ключевых имен (кроме очевидных):

Home
Left
Up
Right
Down
Page_Up
Page_Down
End
Return
BackSpace
Tab
Escape
Delete
Shift_L
Shift_R
Control_L
Control_R
Meta_L
Meta_R
Alt_L
Alt_R
Multi_key  
Super_L  
Super_R

Чтение:

Вы могли бы также интересоваться чтением:

Как я могу изменить то, что включает мою клавиатуру, делают? (Как я могу создать пользовательские команды/ярлыки клавиатуры?)

Как я повторно отображаю определенные ключи или устройства?

16
ответ дан 28 July 2013 в 22:29

Другие вопросы по тегам:

Похожие вопросы: