홈페이지에서 어떤 분이 보내주셨는데,원본 게시물
Fn나는 + Enter// Ctrl의 다양한 조합을 기반으로 다양한 모드를 갖는 Royal Kludge RK61(60%) 키보드를 가지고 있습니다 Windows. 불행하게도 키보드가 어떤 모드를 선택했는지에 대한 실제 표시는 없습니다. bash
키 누름에 대한 알림을 구현하여 극히 제한적인 지식을 바꾸고 싶습니다 .
확인해보니 xev
61을 인식하지 못했는데 Fn노트북에 Fn등록이 됐습니다. 결국 Fn내 노트북 키보드의 키 기호 코드를 사용하여 아래에 통합했습니다.
내가 원하는 대로 작동하는 것으로 보이는 일부 코드를 찾았지만, 필요한 데이터를 병합하는 데는 처음인데도 결함이 있거나 잘못되었다고 생각합니다.
#!/bin/bash
while true; do
read $key input
if [ "$input" = "keysym 0x1008ff2b" + "keysym 0xff0d" ]; then
notify-send -u normal -i $HOME/Downloads/keyboard_icon.jpeg "Keyboard is now in Function mode:" " Arrow Keys on"
fi
done
이것이 맞다면 콘솔을 열지 않고도 실행되는지 어떻게 확인할 수 있습니까? 그리고 60%의 사람들이 Fn등록하지 않았습니다 xev
. 어떻게 해야 합니까?
답변1
열쇠 Fn는 표준이 아닙니다. 많은 노트북이 이를 처리하고 있습니다.임베디드 컨트롤러, 공급업체마다 다르게 수행합니다. 프로그래밍 가능한 것이 있다면 공급업체가 게시하지 않는 공급업체별 프로토콜 뒤에 숨겨져 있습니다.
Fn그래서 당신의 최선의 희망은 보는 것입니다특정한컴퓨터에서 이는 일반적으로 키를 눌렀다가 놓을 때 어떤 순서로 변환되는지 알아낸 다음 어떤 방식으로든 그에 따라 조치를 취하는 것을 의미합니다. 오류의 원인은 다른 키를 사용하여 비슷한 순서를 생성하는 것입니다. 행동 ).
특히, 이
xev를 확인했는데 61의 Fn을 인식하지 못했지만 내 노트북의 Fn은 등록되었습니다. 결국 내 노트북 키보드의 Fn 키에 대한 키 기호 코드를 사용하여 아래에 통합했습니다.
불가능한.
evtest
어떤 경우에는 커널 입력 계층을 살펴보고 올바른 파일 /dev/input/eventX
(적절한 심볼릭 링크 포함)에서 실행하여 해당 사례에 적합한지 확인하는 것도 도움이 될 수 있습니다 . 이 파일을 읽으려면 콘솔을 열 필요도 없습니다.
이것을 파악한 후에는 이 작업의 예상 내용과 X 레이어에서 수행할 수 있는지 여부에 따라 작업을 수행하는 데 사용할 도구를 생각할 수 있습니다.