Linuxで押されたキーを表示


131

Windowsには、キーボードで押されたキーを表示するkeyboard jediというプログラムがあります。Linuxに相当するものはありますか?


1
私はスクリーンキャストに役立つものを探していました... screenkeyは私が望んでいたように見えます。
トラバース

XEVは素晴らしい選択肢をOSとおそらく既にマシンonyourインストールされている
deFreitas

回答:


124

他の人はxev、X11を実行しているときに良いと述べています。ただし、コンソールにいるときshowkeyは、あなたが望むものです。

また、SSHセッションまたは実際の端末にいる場合は、使用できます/usr/lib/ncurses/examples/demo_altkeys(Debianのncurses-examplesパッケージで入手可能)。



3
どちらもSSHターミナルでは機能しません。
アナトリーテクトニック

6
showkey(@anatolytechtonikによるコメントのように)ファイル記述子を取得しないことに関するエラーを回避するには、試してくださいsudo showkey
-pestophagous

1
@anatolytechtonik回答は、SSHセッション(および実際の端末)のコマンドを追加するために編集されました。
テディ

5
@Johann xevはスキャンコードを報告showkeyしますが、デフォルトではキーコードを報告します。sudo showkey -sスキャンコードを報告します。
ニザムモハメッド

49

また、screenkeyは、画面上で押されているキーを表示するスクリーンキャストツールです。


1
私はこれを試してみましたが、音量アップ/ダウンなどのキーが表示されませんでした。
バスピーターズ

私にとって、これは明るさと音量の両方の調整を示しています。全体的に素晴らしい小さなプログラム!
joelostblom 16

Debian Stretchリポジトリのバージョンは古くなっています(Stretchの安定性は、idk、たぶん2ヶ月ですか?)。Githubバージョンを使用して設定を取得します。
リュック

レポはGitlabに移行されました
rkta

37

xevグラフィックモード用のプログラムがあります。Man of xevはhttp://linux.die.net/man/1/xevにあります。ubuntu / debianではx11-utilsパッケージにパッケージ化されています。


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がチケットになる可能性があります。


24

この機能のために私が知っているより良いコマンドはshowkey、パラメーター付き-aです。

あなたが試すことができ、Ctrl+ Dを終了する:

showkey -a

showkey以前の回答で既に言及されています。
ドミトリーグリゴリエフ

しかし、この追加-aは便利で、コマンドの使用方法を示しています。ただし、コメントにする必要があります。
ステファンヴァンデンアッカー

sudo showkey -asshでも動作します。
ニザムモハメッド

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ます。
アナトリーテクトニック

12

シェルプロンプトが表示されている場合は、Ctrl- vを押してから目的のキーを押して、出力を確認できます。たとえば、私のシステムでは、Ctrl- vを押すと、エスケープ、左括弧、Cを意味しRight Arrowます^[[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,


xev -event keyboardキーボードイベントのみを報告します。
ニザムモハメッド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.