hiển thị các phím được nhấn trong linux


131

trong windows có một chương trình gọi là jedi bàn phím cho biết phím nào được nhấn trên bàn phím. Có tương đương với linux không?


1
Tôi đang tìm kiếm thứ gì đó giúp với dàn diễn viên ... màn hình có vẻ như những gì tôi muốn.
ftravers

Xev os tùy chọn tuyệt vời và có lẽ đã được cài đặt trên máy của bạn
deFreitas

Câu trả lời:


124

Những người khác đã đề cập xev, điều này tốt khi bạn đang chạy X11. Tuy nhiên, khi bạn ở bàn điều khiển, đó showkeylà những gì bạn muốn.

Và nếu bạn đang ở phiên SSH hoặc thiết bị đầu cuối thực sự, bạn có thể sử dụng /usr/lib/ncurses/examples/demo_altkeys(có sẵn trong Debian trong gói ví dụ ncurses).


1
Chào mừng đến với hàng ngũ của các vận động viên Stack .
Dennis Williamson

3
Không hoạt động trong thiết bị đầu cuối SSH.
anatoly techtonik

6
để khắc showkeyphục lỗi về việc không nhận được mô tả tệp (như trong nhận xét của @anatolytechtonik), hãy thửsudo showkey
pestophagous

1
@anatolytechtonik Trả lời được chỉnh sửa để thêm lệnh cho các phiên SSH (và thiết bị đầu cuối thực).
Teddy

5
@Johann xevbáo cáo scancodes trong khi showkeytheo mặc định báo cáo mã khóa. sudo showkey -sbáo cáo scancodes.
Nizam Mohamed

49

Ngoài ra screenkey , một công cụ screencast hiển thị các phím được nhấn trên màn hình.


1
Tôi đã thử điều này và nó không hiển thị cho tôi các phím như tăng / giảm âm lượng.
Bas Peeters

Đối với tôi, điều này cho thấy cả điều chỉnh độ sáng và âm lượng. Chương trình nhỏ tuyệt vời nói chung!
joelostblom

Phiên bản trong kho lưu trữ Debian Stretch là cổ (và Stretch chỉ ổn định, idk, có thể 2 tháng?). Sử dụng phiên bản Github để nhận một số cài đặt.
Luc

Repo đã được di chuyển đến 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 không thể hiển thị cho tôi Mx Anywhere 2 nút chuột, phương pháp này hiển thị nút chính xác.
sdkks

32

Nếu bạn đang tìm kiếm thứ gì đó hiển thị bằng đồ họa cho bạn biết phím nào được nhấn hiện tại (có lẽ là cho góc của screencast), key-mon có thể là vé.


24

Lệnh tốt hơn mà tôi biết cho chức năng này là showkey, với tham số -a.

Bạn có thể thử và Ctrl+ Dđể thoát:

showkey -a

showkeyđã được đề cập trong các câu trả lời trước đó.
Dmitry Grigoryev

Nhưng bổ sung -alà hữu ích, cho thấy làm thế nào để sử dụng lệnh. Nhưng nên là một bình luận sau đó.
Stefan van den Akker

sudo showkey -alàm việc với ssh quá.
Nizam Mohamed

17

Bạn cũng có thể sử dụng evtest. Trong một số trường hợp tốt hơn xevlà nó hiển thị các phím ngay cả khi khóa đã được ghi.

Để cài đặt dưới ubfox / mint sudo apt-get install evtest.

Để chạy sudo evtestvà chọn số thiết bị.

Ví dụ đầu ra:

$ 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
Không hoạt động với SSH. Hình như không có /dev/inputở đó.
anatoly techtonik

12

Nếu bạn đang ở dấu nhắc shell, bạn có thể nhấn Ctrl- vsau đó là phím quan tâm để xem đầu ra là gì. Ví dụ: trên hệ thống của tôi, nhấn Ctrl- vsau đó Right Arrowhiển thị ^[[Ccó nghĩa là Thoát, Khung bên trái, C.

Như những người khác đã đề cập, xevlà cách để đi cho X11.



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,


xev -event keyboardchỉ báo cáo các sự kiện bàn phím.
Nizam Mohamed
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.