キー押下のみ認識し、キーリリースは認識しません。

キー押下のみ認識し、キーリリースは認識しません。

私はオーディオコントロールを対応するXF86キーにマッピングしようとして長い間努力してきました。しかしXF86AudioLowerVolume、、、XF86AudioRaiseVolume&3つのキーがXF86AudioMute正しく機能しません。ログインするたびにこのキーを1回押すことができます。その後、別のキーを押すか、別のキー信号を送信するまで入力が繰り返されます。xevこれらのキーの繰り返しキー押下も表示され、キー押下イベントのみが表示され、ドロップは表示されませshowkeyん。明確にするために、出力は次のようになります。

keycode 113 press
keycode 114 press
keycode 115 press
 keycode  57 press
keycode  57 release

スペースバー(キーコード57)を押すと、期待どおりにバージョンが表示されますが、キーコード113-115はそうではありません。インターネットを横断しても、キーを押したときのキーだけが記録され、キーが押されたときのキーが押されたときの記録は、記録されていない他の投稿を見たことがありません。私は最近Ubuntu 19.10にアップグレードして再インストールしましたが、xorg役に立ちません。どんな提案がありますか?


編集する:

xev3 つのキーはすべて最初に押すと出力されます。次のようにキーが繰り返されます。

KeyPress event, serial 34, synthetic NO, window 0x1e00001,
    root 0x168, subw 0x0, time 35686, (441,184), root:(1725,204),
    state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x1e00001,
    root 0x168, subw 0x0, time 36347, (441,184), root:(1725,204),
    state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
        ........

私を驚かせるのは、その線がXLookupString gives 0 bytes:正しいことができないということです。通常、出力文字に対応する1バイトがここに入力されます。他のXF86キーは次のイベントを提供します。

KeymapNotify event, serial 157, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   14  
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

また、.x​​evを実行すると、xevに表示されているキーコードが正しいバインディングに対応しますxmodmap -pke。 Xサーバーを次のように再起動したため、問題が私のXサーバーにないと思う傾向があります。sudo systemctl restart display-manager私には何もせず、もう一度ログインしません。

キーボードを再起動してみました。

xinput disable 'AT Translated Set 2 keyboard'; 
xinput enable 'AT Translated Set 2 keyboard'

しかし、役に立たない。

modprobe -r atkbdjust receive messageなどのコマンドを使用してatkbdモジュール(キーボードコントローラ)を再起動してみましたmodprobe: FATAL: Module atkbd is builtin

これまで、これらのキーを押したり放したりしない唯一の方法は、再起動することです。

たぶん、私はデュアルブートシステムを実行していることを知っておくことが重要かもしれませんGRUB2。 Windowsでは、このキーは正しく機能します。ボリュームキーをテストするのは少し難しいですが、BIOSでもこれを行うと思います。


編集2:

私はキーボード内蔵のMedinn Erazer P6661ノートブックを使用しています。私のキーボードをリストしてxinput list-props 12、次の情報を取得します。

Device 'AT Translated Set 2 keyboard':
    Device Enabled (167):   1
    Coordinate Transformation Matrix (169): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Send Events Modes Available (289): 1, 0
    libinput Send Events Mode Enabled (290):    0, 0
    libinput Send Events Mode Enabled Default (291):    0, 0
    Device Node (292):  "/dev/input/event4"
    Device Product ID (293):    1, 1

ベストアンサー1

おすすめ記事