키보드 입력을 시뮬레이트하는 방법?


15

이것이 Ubuntu / Linux를 즐기지 못하게하는 가장 큰 것입니다.

이상적으로는 우분투에서 AutoHotKey 스크립트를 실행할 수 있기를 원하지만 와인으로 작업하는 데 많은 운이 없었습니다.

다음은 AHK에서 수행중인 작업입니다 (추가 수정자를 사용하면 작동합니다. Shift+ Alt+ lis Shift+ 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합니다.


이봐 스티븐, 난 정확히 같은 것을 찾고있어. 이 작업에 성공 했습니까?
lolmaus-Andrey Mikhaylov

답변:


18

나는 xvkbd를 사용한 적이 없지만 내가 좋아하고 사용하는 키보드 입력을 시뮬레이트하는 두 가지 다른 훌륭한 프로그램이 있습니다. 하나는 xte다른 하나는 입니다 xdotool.

sudo apt-get install xautomation xdotool  

모두 xdotoolxte매우 유사하지만, 내가 사용하기 때문에 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

키 이름 :

다음은 주요 이름 이외의 키 이름 목록입니다.

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

독서:

당신은 또한 읽기에 관심이있을 수 있습니다 :

키보드의 키가 어떻게 변경합니까? (사용자 정의 키보드 명령 / 바로 가기를 어떻게 만들 수 있습니까?)

특정 키나 장치를 어떻게 다시 매핑합니까?


이것은 좋아 보이지만와 함께 작동하지 않습니다 xbindkeys. xte 'key a'에서 호출 되면 xbindkeys바로 가기 키를 누를 때 커서가 깜박입니다. xte 'key a'명령 줄에서 작동합니다. 직장 gnome-terminal에서 전화 xbindkeys. 문제가 어디에 있는지 잘 모르겠습니다.
Farzher

... xte에서 호출 될 때 포커스 된 창으로 키 이벤트를 보내려고 하지 않는 것 같습니다 xbindkeys.
Farzher

@StephenSarcsamKamenar 나 자신은 약간의 어려움을 겪었지만 내 경험상 문제가 있었다 xbindkeys. 나에게 명령을 보내 려면 정확히 동시에 키 조합을 눌러야한다 xbindkeys. YMMV.
Seth

아마도 xbindkeys문제 일 것입니다. xdotool그것으로 일했지만 열쇠를 눌렀을 때 결코 반복하지 않을 것입니다. 좋은 대안은 무엇입니까 xbindkeys?
Farzher

1
@StephenSarcsamKamenar xmodmap을이 설명되어 대답뿐만 아니라 하나. 그것이 xbindkeys충분히 미리 수행하지 않은 경우에 사용하는 것입니다 (적어도 xte에는 없습니다.)
Seth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.