題 顯示在linux中按下的鍵


在Windows中有一個名為keyboard jedi的程序,它顯示了鍵盤上按下的鍵。有沒有相當於Linux的?


106
2018-02-21 15:52


起源


我正在尋找有助於屏幕演員的東西... screenkey看起來像我想要的。 - ftravers
Xev os很棒的選擇,可能已經安裝在你的機器上 - deFreitas


答案:


screenkey,一個屏幕播放工具,顯示在屏幕上按下的鍵。


38
2018-04-26 11:46



我嘗試了這個並沒有向我顯示音量增大/減小的關鍵。 - Maneating Koala
對我來說,這顯示了亮度和音量調整。總體上很棒的小程序! - joelostblom
Debian Stretch存儲庫中的版本是古老的(Stretch只能穩定,idk,2個月可能嗎?)。使用Github版本進行一些設置。 - Luc


其他人提到過 xev,當你運行X11時這很好。但是,當你在控制台時, showkey 是你想要的。

如果你在SSH會話或真正的終端,你可以使用 /usr/lib/ncurses/examples/demo_altkeys (在ncurses-examples包中的Debian中可用)。


98
2018-02-21 17:57



歡迎來到這個行列 堆棧運動員。 - Dennis Williamson
在SSH終端都沒有工作。 - anatoly techtonik
解決 showkey 給出關於沒有獲取文件描述符的錯誤(如@anatolytechtonik的評論),試試 sudo showkey - pestophagous
@anatolytechtonik回答編輯,為SSH會話(和真實終端)添加命令。 - Teddy
@Johann xev 報告掃描碼,而 showkey 默認情況下報告密鑰代碼。 sudo showkey -s 報告掃描碼。 - Nizam Mohamed


xev 圖形模式程序。 xev的人在這裡 http://linux.die.net/man/1/xev 在ubuntu / debian上它被打包進去了 x11-utils 包。


36
2018-02-21 15:59





如果您正在尋找以圖形方式顯示當前按下的鍵的內容(可能是在截屏視頻的角落), 關鍵-MON 可能是門票。


28
2017-11-05 19:52



這就是我想要的。謝謝! - Alexandre Neto
新鏈接: github.com/scottkirkwood/key-mon - phk


 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:~$ 

28
2017-10-31 15:40



xev未能顯示Mx Anywhere 2鼠標按鈕,此方法顯示正確的按鈕。 - sdkks


我知道這個功能的更好的命令是showkey,參數-a

你可以試試,Crtl = D退出。

showkey -a


15
2018-05-30 17:39



showkey 在早期的答案中已經提到過。 - Dmitry Grigoryev
但另外 -a 很有用,展示瞭如何使用該命令。但那應該是評論。 - Stefan van den Akker
sudo showkey -a也適用於ssh。 - Nizam Mohamed


你也可以使用 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 ------------

13
2017-10-06 08:50



不適用於SSH。看起來沒有 /dev/input 在那裡。 - anatoly techtonik


如果您處於shell提示符下,則可以按 按Ctrl - v 然後關注的是看輸出是什麼。例如,在我的系統上,按 按Ctrl - v 然後 右箭頭 節目 ^[[C 這意味著Escape,Left Bracket,C。

正如其他人提到的, xev 是X11的方法。


10
2018-02-21 16:28