แสดงปุ่มกดใน linux


131

ใน windows มีโปรแกรมที่เรียกว่า keyboard jedi ซึ่งแสดงว่ามีการกดปุ่มใดบนแป้นพิมพ์ จะเทียบเท่ากับ linux หรือไม่


1
ฉันกำลังมองหาบางอย่างที่ช่วยให้กับหน้าจอได้ ... หน้าจอดูเหมือนว่าสิ่งที่ฉันต้องการ
ftravers

Xev os เป็นตัวเลือกที่ยอดเยี่ยมและอาจติดตั้งอยู่ในเครื่องของคุณแล้ว
deFreitas

คำตอบ:


124

มีคนอื่นพูดถึงxevซึ่งดีเมื่อคุณใช้ X11 อย่างไรก็ตามเมื่อคุณอยู่ที่คอนโซลshowkeyคุณต้องการสิ่งใด

และถ้าคุณอยู่ในเซสชัน SSH หรือเทอร์มินัลจริงคุณสามารถใช้/usr/lib/ncurses/examples/demo_altkeys(มีให้ใน Debian ในแพ็คเกจ ncurses-samples)


1
ยินดีต้อนรับสู่การจัดอันดับของนักกีฬาสแต็ค
Dennis Williamson

3
ไม่ทำงานในเทอร์มินัล SSH
Anatoly techtonik

6
ในการหลีกshowkeyเลี่ยงการให้ข้อผิดพลาดเกี่ยวกับการไม่รับไฟล์ descriptor (เช่นในคอมเม้นต์โดย @anatolytechtonik) ลองsudo showkey
pestophagous

1
@anatolytechtonik ตอบแก้ไขเพื่อเพิ่มคำสั่งสำหรับเซสชัน SSH (และเทอร์มินัลจริง)
เท็ดดี้

5
@Johann xevรายงานการสแกนในขณะที่showkeyโดยรหัสรายงานเริ่มต้น sudo showkey -sรายงาน scancodes
Nizam Mohamed

49

นอกจากนี้screenkeykeyเป็นเครื่องมือหน้าจอที่แสดงปุ่มที่กดบนหน้าจอ


1
ฉันลองสิ่งนี้และมันไม่ได้แสดงปุ่มต่างๆเช่นระดับเสียงขึ้น / ลง
Bas Peeters

สำหรับฉันมันแสดงให้เห็นทั้งความสว่างและการปรับระดับเสียง สุดยอดโปรแกรมเล็ก ๆ !
joelostblom

เวอร์ชันในที่เก็บ Debian Stretch เป็นรุ่นเก่า (และ Stretch นั้นมีความเสถียรสำหรับ idk หรืออาจเป็น 2 เดือน?) ใช้รุ่น Github เพื่อรับการตั้งค่าบางอย่าง
ลัค

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

หากคุณกำลังมองหาสิ่งที่มีภาพกราฟิกแสดงให้คุณเห็นสิ่งที่สำคัญคือการกดปัจจุบัน (อาจจะเป็นเพราะมุมของ screencast ที่) คีย์จันทร์อาจจะมีตั๋ว


24

คำสั่งที่ดีกว่าที่ฉันรู้ว่าการทำงานนี้อยู่กับพารามิเตอร์showkey-a

คุณสามารถลองและCtrl+ Dเพื่อออก:

showkey -a

showkeyถูกกล่าวถึงแล้วในคำตอบก่อนหน้า
Dmitry Grigoryev

แต่การเพิ่ม-aนั้นมีประโยชน์ซึ่งแสดงวิธีใช้คำสั่ง แต่ควรจะแสดงความคิดเห็นแล้ว
Stefan van den Akker

sudo showkey -aทำงานร่วมกับ ssh ได้เช่นกัน
Nizam Mohamed

17

evtestนอกจากนี้คุณยังสามารถใช้ ในบางสถานการณ์ดีกว่าxevที่จะแสดงปุ่มแม้เมื่อคีย์ถูกดักจับแล้ว

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ว่าหมายถึง Escape, Left Bracket, C

ดังที่คนอื่น ๆ ได้กล่าวถึงxevเป็นวิธีที่จะไปสำหรับ 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,

6
โปรดอ้างอิงถึงวิธีการเขียนคำตอบที่ดี
pun

xev -event keyboardรายงานเหตุการณ์แป้นพิมพ์เท่านั้น
Nizam Mohamed
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.