1回のキーを押すと、より多くのキーコードが生成されることがあります。

1回のキーを押すと、より多くのキーコードが生成されることがあります。

古いノートブック(acer aspiretimeline X 5820)(debian 9およびlinux mint 18でテスト)にLinuxをインストールしましたが、キーボードに問題があります。

矢印には、音量とディスプレイの明るさを制御する機能があります(fnキーを押すと有効になります)。そのうちの3つはうまく機能しますが、最後のもの(明るさが低下します)は機能しません。鍵で(fnのある矢印)押すと、明るさの減少が初期化され、外部モニタに変わります。

出力はxev次のとおりです(fnを押しながら矢印を押す)。

MappingNotify event, serial 40, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

FocusOut event, serial 40, synthetic NO, window 0x7200001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 41, synthetic NO, window 0x7200001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 41, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   8   0   0   

KeyRelease event, serial 41, synthetic NO, window 0x7200001,
    root 0xb0, subw 0x0, time 5319155, (1023,637), root:(1023,666),
    state 0x10, keycode 235 (keysym 0x1008ff59, XF86Display), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

MappingNotify event, serial 41, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

FocusOut event, serial 41, synthetic NO, window 0x7200001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 42, synthetic NO, window 0x7200001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 42, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   1   0   0   

KeyRelease event, serial 42, synthetic NO, window 0x7200001,
    root 0xb0, subw 0x0, time 5319238, (1023,637), root:(1023,666),
    state 0x10, keycode 232 (keysym 0x1008ff03, XF86MonBrightnessDown), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

出力はshowkey次のとおりです

keycode 227 press
keycode 227 release
keycode 224 press
keycode 224 release

キーボードもあります。特殊キー(F5、fn)は使用する表示を変更するために使用します。出力なしここでもxevここでもありませんshowkey

明るさを下げて表示効果を変更できますが、同時にのみ可能です。どちらのLinuxでも同じように「動作」します。 Windowsでは問題がないため、ハードウェアの問題ではありません。

コードを移行することは可能ですか(そしてどのように)? keycode 235 (keysym 0x1008ff59, XF86Display)正しいキーで?

ベストアンサー1

ノートブックはメーカーごとに作業方法が異なり、製造元にはドキュメントもなく、Windowsドライバしかないため、常に面倒です。

説明によると、現在のモードで組み込みコントローラ(EC)はい、Fn + 輝度の低下については間違ったシーケンスのみを生成し、Fn + F5についてはシーケンスや他の種類のイベントを生成しません。

さまざまな効果を得るためにECを再プログラミングする方法に関するドキュメントがないので、私が考えることができる最善の解決策は、XF86Displayをxmodmap無視してディスプレイを変更しない他の項目にマッピングすることです(などを介して)。これにより、追加のシンボルが生成されても明るさを下げるキーが正しく機能します。

Fn + F5に対して生成された他のイベントを見つけることができる場合(たとえばを使用してacpi_listen)、そのイベントに反応するカスタム項目を追加できます。イベントが見つからない場合は、キーシンボルを別のキーの組み合わせ(Fnを除く)にマップするか、キーが欠落していることを受け入れる必要があります。

おすすめ記事