저는 ubuntustudio 16.10
64비트 IBM Thinkpad E431을 사용하고 있습니다. 쉘 스크립트에서 애플리케이션을 시작할 수 있지만 다음 단계에서는 이전 버튼을 눌러야 하는 노트북에서 Ctrl++ 버튼을 눌러야 합니다 . 저는 데스크톱 버전을 사용하고 있습니다. 쉘 스크립트에서는 이것을 시뮬레이션할 수 없습니다. 터치패드도 비활성화했지만 도움이 되지 않았습니다.ShiftF10FnF10xfce
답변1
필요하지 않습니다.
Fn내 노트북에서는 먼저 버튼을 눌러야 합니다 F10.
그러나 이는 시뮬레이션해야 하는 X 입력 이벤트와는 아무런 관련이 없습니다.
기억해야 할 것은 Fn키보드와 컴퓨터 사이의 전선에서는 키가 절대 보이지 않는다는 것입니다. 이는 전적으로 키보드 자체의 마이크로프로세서에 의해 처리됩니다. Fn각인된 키가 있는 키를 누르면 마치 완전한 개별 키가 있는 풀 키보드를 사용하는 것처럼 F10유선을 통해 전송되는 모든 것은 해당 키의 키 코드입니다 .F10F10
당신은 새겨진 열쇠 F10와 물건을 가지고 있습니다. 키보드 마이크로프로세서는 Fn키를 다음과 같이 인식합니다.완전 로컬 수정자 키와이어의 "다른" 키처럼 보이는 것( Fn누르지 않은 경우)과 와이어의 "다른" 키처럼 보이는 것 F10(누른 경우) 사이에서 키를 전환합니다.Fn
실제로 랩톱 및 유사한 키보드에는 이러한 기본 수정자가 두 개 있는 경우가 많습니다. 또 다른 하나는 NumLock LED(sic)의 상태로, 각 키가 컴퓨터 전선에 표시되는 네 가지 방법을 제공합니다.
그러나 당신의 컴퓨터가 보는 것처럼 이 모든 것은 전선의 반대편에서는 보이지 않습니다. 실제 독립 키가 있는 전체 키보드가 표시됩니다 F10. 이는 X 응용 프로그램이 X 입력 이벤트에서 보는 것이기도 합니다.
이것이 시뮬레이션에 필요한 전부입니다. F10키를 눌렀음을 나타내는 X 이벤트를 시뮬레이션하려면 및 수정자를 사용하면 됩니다 .Level2 ⇧Control ⎈
를 사용하면 xdotool
flowtron의 답변에서 볼 수 있듯이 이것은 단지
xdotool 키 Ctrl+Shift+F10
추가 읽기
- Ubuntu 16.04는 Fn 키를 인식하지 못합니다
- 조나단 드보인 폴라드(2020)."Fn" 키는 로컬 키입니다.. 자주 주어지는 답변입니다.
- "키보드 매트릭스 디자인".SK5126 FlexMatrix 키보드 컨트롤러 데이터시트. 스프링텍. 2015년 2월 20일.
- "기능키 사용법".HT82K629A Windows 2000 USB+PS/2 키보드 인코더 데이터시트. 2004년 9월 15일.
답변2
답변3
포크로 실행하지 않으면 xdotool
bash/shell에서 가장 키를 캡처하지 못할 수도 있습니다. 대신 다음을 사용할 수 있습니다.xdotool
xdotool key ctrl+shift+F10
xdotool key ctrl+shift+F10 &
쉘/터미널 응용 프로그램이 키 누르기를 캡처하는 경우 키 누르기를 시뮬레이션하기 위해 실행되는 동안 xdotool이 이를 점유하여 기본 프로세스가 키 누르기 시뮬레이션에 바쁘기 때문에 캡처를 방지합니다... 해당 프로세스를 포크하면 &
기본 프로세스가 자유롭게 캡처됩니다. 열쇠.