Cinnamon / Linux / XorgでScroll Lockキーが無効になったのはなぜですか?

Cinnamon / Linux / XorgでScroll Lockキーが無効になったのはなぜですか?

最近、スクロールロックキーを使用してバックライトを切り替えるように設計されたバックライトキーボードを購入しました。 Scroll Lockキーを押すと、Cinnamonが正しく反応しないことがすぐに見つかりました。最初は他のすべてが基本的に動作するので、キーボードのバックライトはDOAだと思いました。再起動後にXorgを起動する前に、Scroll Lockキーを使用してバックライトを正常に切り替えることができることがわかりました。その後、Xorg(以降のcinnamon_session)を起動した後、この機能は再び動作を停止しました。

Xorgを起動した後にバックライトが正しく機能するようにするには、xset led named "Scroll Lock"この機能を有効または無効にするには、次の手順を実行する必要がありました。

xevいくつかの調査の終わりに、開始時に主要なイベント情報を端末にダンプするプログラムを見つけました。 Scroll Lock キーを押すと、端末に次の情報が表示されます。

KeyPress イベント、シーケンス 34、構成 NO、ウィンドウ 0x2c00001、ルート 0x2df、subw 0x0、時間 2609824、(410,0)、ルート:(1724,142)、状態 0x0、キーコード 78 (keysym 0xff 、XLOookupStringは0バイトを提供します。 XmbLookupStringは0バイトを提供します。 XFilterEvent は以下を返します。 False

KeyRelease イベント, シーケンス番号 37, 合成 NO, ウィンドウ 0x2c00001, ルート 0x2df, subw 0x0, 時間 2609912, (410,0), ルート: (1724,142), 状態 0x0, キーコード 78 (_keysym 0x YES 、 XLookupString はゼロバイトを提供します。

それで、重要なイベントがカーネルに送信されていることを知っています。

また、興味深いことに、ターミナルにいるとき(まだXorgまたはCinnamonを起動する前)、Scroll Lockを使用したときに奇妙な動作が観察されました。つまり、この時点でバックライトが期待どおりに切り替わりますが、スクロールロックが有効になっていると、入力した内容は画面に記録されません。 Scroll Lockを無効にした後、私が書いたすべての内容は、以前にバッファリングされていたかのようにすぐに端末にダンプされます。

長すぎます。Scroll LockとXorgの関係は何ですか?

ベストアンサー1

私はCinnamonに慣れていませんが、Scroll Lockキーを有効にすることはできます。

まず、利用可能なキーボードレギュレータスロットがあることを確認する必要があります。ランニング:

xmodmap -pm

これにより、現在の修飾子設定のリストが印刷されます。行のいずれかにキーが表示されないことを願っています。一般的にそうですmod3。このような場合を考えると、次のようにScroll Lockを有効にできます。

xmodmap -e "add mod3 = Scroll_Lock"

これで、Scroll Lock LEDがScroll Lockキーの押下に反応する必要があります。

可能であれば、Xに起動時に自動的にこれを実行させることもできます。これを行う方法はいくつかあります。ユーザーごとに実行できますが、このような場合はグローバルに設定するのが合理的だと思います。

ただし、これまでこれを行ったことがないため、詳細を提供する前にテストしてみることをお勧めします。 :)

[OK] Modmapをグローバルに有効にしようとすると、KDEでは機能しません。 :(しかし、私のホームディレクトリで有効にするとうまくいくようです。

.Xmodmap次の行を含むホームディレクトリにファイルを作成します。

add mod3 = Scroll_Lock

最も簡単な方法は次のとおりです。

cd ~
echo >.Xmodmap "add mod3 = Scroll_Lock"

次に、Xを再起動します(ログアウトして再度ログインします)。 Scroll Lockキーが正しく機能していることを願っています。そうでない場合は教えてください。

おすすめ記事