리눅스에서 눌린 키 보이기


131

Windows에는 키보드에서 어떤 키를 눌렀는지 보여주는 키보드 제다이라는 프로그램이 있습니다. 리눅스에 해당하는 것이 있습니까?


1
스크린 캐스트에 도움이되는 것을 찾고있었습니다 ... 스크린 키는 내가 원하는 것 같습니다.
ftravers

Xev는 훌륭한 옵션이며 아마도 컴퓨터에 이미 설치되어있을 것입니다.
deFreitas

답변:


124

다른 사람들은 xevX11을 실행할 때 좋습니다. 그러나 콘솔에 showkey있으면 원하는 것이 있습니다.

SSH 세션이나 실제 터미널에 있다면 /usr/lib/ncurses/examples/demo_altkeys(ncurses-examples 패키지의 Debian에서 사용 가능)을 사용할 수 있습니다 .


1
Stack Athletes에 오신 것을 환영합니다 .
Dennis Williamson

3
SSH 터미널에서 작동하지 않습니다.
anatoly techtonik

6
showkey@anatolytechtonik의 코멘트와 같이 파일 디스크립터를 얻지 못하는 오류 를 해결하기 위해 시도해보십시오.sudo showkey
pestophagous

1
@anatolytechtonik SSH 세션 (및 실제 터미널)에 대한 명령을 추가하도록 응답이 편집되었습니다.
Teddy

5
@Johann xev은 스캔 코드를보고하지만 showkey기본적으로 키 코드를보고합니다. sudo showkey -s스캔 코드를보고합니다.
Nizam Mohamed

49

또한 screenkey , 화면에서 누르는 키를 표시하는 스크린 캐스트 도구입니다.


1
나는 이것을 시도했지만 볼륨 업 / 다운과 같은 키를 보여주지 않았다.
Bas Peeters

나에게 이것은 밝기와 볼륨 조정을 모두 보여줍니다. 전반적으로 훌륭한 프로그램!
joelostblom

데비안 스트레치 리포지토리의 버전은 고대 버전입니다 (그리고 스트레치는 idk, 2 개월 정도만 안정적입니다). Github 버전을 사용하여 일부 설정을 가져옵니다.
Luc

Repo는 Gitlab 으로 마이그레이션되었습니다 .
rkta


32
 chris@retina:~$ xinput list
 ⎡ Virtual core pointer                     id=2    [master pointer  (3)]
 ⎜   ↳ Virtual core XTEST pointer               id=4    [slave  pointer  (2)]
 ⎜   ↳ bcm5974                                  id=13   [slave  pointer  (2)]
 ⎜   ↳ Logitech Unifying Device. Wireless PID:1028  id=9    [slave  pointer  (2)]
 ⎣ Virtual core keyboard                    id=3    [master keyboard (2)]
     ↳ Virtual core XTEST keyboard              id=5    [slave  keyboard (3)]
     ↳ Power Button                             id=6    [slave  keyboard (3)]
     ↳ Power Button                             id=7    [slave  keyboard (3)]
     ↳ Sleep Button                             id=8    [slave  keyboard (3)]
     ↳ FaceTime HD Camera (Built-in)            id=11   [slave  keyboard (3)]
     ↳ Apple Inc. Apple Internal Keyboard / Trackpad    id=12   [slave  keyboard (3)]
     ↳ daskeyboard                              id=10   [slave  keyboard (3)]
     ↳ daskeyboard                              id=14   [slave  keyboard (3)]
 chris@retina:~$ xinput test 14
 key release 36 
 key press   43 
 hkey release 43 
 key press   26 
 ekey release 26 
 key press   46 
 lkey release 46 
 key press   46 
 lkey release 46 
 key press   32 
 okey release 32 
 key press   37 
 key press   54 
 ^C
 chris@retina:~$ 

1
xev가 Mx Anywhere 2 마우스 버튼을 표시하지 못했습니다.이 방법은 올바른 버튼을 표시합니다.
sdkks

32

현재 어떤 키를 눌렀는지 (스크린 캐스트의 모서리에 대해) 그래픽으로 표시되는 것을 찾고 있다면 key-mon 이 티켓 일 수 있습니다.



17

을 사용할 수도 있습니다 evtest. 어떤 상황에서는 xev키가 이미 캡처 된 경우에도 키를 표시하는 것보다 낫습니다 .

ubuntu / mint 아래에 설치 sudo apt-get install evtest합니다.

sudo evtest장치 번호 를 실행 하고 선택합니다.

출력 예 :

$ sudo evtest 
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  Lid Switch
/dev/input/event1:  Power Button
/dev/input/event2:  Power Button
/dev/input/event3:  AT Translated Set 2 keyboard
/dev/input/event4:  ETPS/2 Elantech Touchpad
/dev/input/event5:  Logitech Logitech G930 Headset
/dev/input/event6:  Video Bus
/dev/input/event7:  HDA Intel HDMI HDMI/DP,pcm=8
/dev/input/event8:  HDA Intel HDMI HDMI/DP,pcm=7
/dev/input/event9:  HDA Intel HDMI HDMI/DP,pcm=3
/dev/input/event10: HDA Intel PCH Headphone
/dev/input/event11: HDA Intel PCH Mic
/dev/input/event12: WebCam SC-10HDP12B24N
/dev/input/event13: ELAN Touchscreen
Select the device event number [0-13]: 5
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x46d product 0xa1f version 0x101
Input device name: "Logitech Logitech G930 Headset"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 256 (BTN_0)
    Event code 257 (BTN_1)
    Event code 258 (BTN_2)
    Event code 259 (BTN_3)
    Event code 260 (BTN_4)
    Event code 261 (BTN_5)
    Event code 262 (BTN_6)
    Event code 263 (BTN_7)
    Event code 264 (BTN_8)
    Event code 265 (BTN_9)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1412585327.807585, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00b5
Event: time 1412585327.807585, type 1 (EV_KEY), code 163 (KEY_NEXTSONG), value 1
Event: time 1412585327.807585, -------------- SYN_REPORT ------------
Event: time 1412585327.927557, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00b5
Event: time 1412585327.927557, type 1 (EV_KEY), code 163 (KEY_NEXTSONG), value 0
Event: time 1412585327.927557, -------------- SYN_REPORT ------------

1
SSH에서는 작동하지 않습니다. 전혀없는 것 같습니다 /dev/input.
anatoly techtonik

12

쉘 프롬프트가 표시되면 Ctrl-를 v누른 다음 원하는 키를 눌러 출력이 무엇인지 확인할 수 있습니다. 예를 들어, 내 시스템에 눌러 Ctrl- v다음 Right Arrow보여줍니다 ^[[C탈출, C. 왼쪽 브라켓을 의미

다른 사람들이 언급했듯이 xevX11로가는 길입니다.



5
xev | grep 'keycode'
    state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    state 0x4, keycode 52 (keysym 0x7a, z), same_screen YES,
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    state 0x0, keycode 54 (keysym 0x63, c), same_screen YES,
    state 0x0, keycode 52 (keysym 0x7a, z), same_screen YES,
    state 0x0, keycode 54 (keysym 0x63, c), same_screen YES,

6
을 참조하시기 바랍니다 좋은 답변을 작성하는 방법
말장난

xev -event keyboard키보드 이벤트 만보고합니다.
Nizam Mohamed 8
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.