私/proc/sys/kernel/sysrq
の番号は502ですが、Alt + SysRq + ...が私のHP Pavilionラップトップでは機能しないようです。どうすれば修正できますか?
更新1:ちなみに、私のprint-screen-keyも他のどのキーも "SysRq"のような追加のラベルを持っていません。
アップデート2:
- ハードウェアモデル:HP Pavilion 17 Notebook PC
- キーボードレイアウト:ドイツ語、QWERTZ
私/proc/sys/kernel/sysrq
の番号は502ですが、Alt + SysRq + ...が私のHP Pavilionラップトップでは機能しないようです。どうすれば修正できますか?
更新1:ちなみに、私のprint-screen-keyも他のどのキーも "SysRq"のような追加のラベルを持っていません。
アップデート2:
回答:
ほとんどのラップトップではFn、SysRqキーを取得するために押す必要があります。押すとFn、通常は影響しませんAltキーを(少なくとも左1)しかし、あなたは後に押すことを手紙に影響を与える可能性がありますSysRq。幸いにも、SysRq3番目のキーを同時に押す必要はありません。押し続けるだけで十分Altです。次のシーケンスは、私が見たすべてのラップトップで機能します。
SysRqキーは通常と同じキーですPrintScreen。キーボードにSysRqまたはのラベルが付いたキーがない場合、PrintScreenLinuxが期待するスキャンコードを送信するキーがない可能性があります。マジックSysRqのために、SysRqキーはスキャンコード99を送信するキーです。
PS / 2キーボード(ラップトップの内蔵キーボードを含む)で、キーが送信するスキャンコードを確認するには、テキストコンソールにログインします(テキストコンソールに切り替えるにはCtrl+ Alt+ F1を押し、GUIに戻るには通常Ctrl+ Alt+ F7を押します)。)、コマンドを実行しshowkey -s
ます。showkey -s
入力すると、各キーのスキャンコードが表示されます。これは通常、キーを押すための1バイト(2桁の16進数)であり、次にキーを離すための別のバイトです。いくつかのキーについては、で始まる2バイトで構成されるバイトシーケンスを取得しますe0
。目的のキーを押してから、10秒待ってshowkey
終了します。
スキャンコードを特定したらsetkeycodes … 99
、rootとして実行して、そのスキャンコードをキーコード99に割り当てます。たとえば、選択したキーをshowkey -s
印刷0xe0 0x6f 0xe0 0xef
する場合は、を実行しsetkeycodes e06f 99
ます。
この変更を永続的にするには、setkeycodes
コマンドを/etc/rc.local
に追加するか、udevを設定してキーコードマッピングを変更します。udevの設定はUSBキーボードの唯一のソリューションであり、USBキーボードにsetkeycodes
は影響しません。
setkeycodes: failed to set scancode 90 to keycode 99: ioctl KDSETKEYCODE: Invalid argument
。残念ながら、ラップトップにAppleキーボードがあります。