削除する電源キーの再マッピング


14

Ubuntu 13.10とFluxBoxを実行しているMacbook Proがあります。残念ながら、電源ボタンは、削除キーがあると思われるバックスペースの上に物理的にあります。OSXでは、PowerKeyプログラムを使用して、削除する電源キーを再マップできます。X Windowsで同様のことを行うにはどうすればよいですか?

編集/etc/systemd/logind.confして設定して電源キーを無効にしたHandlePowerKey = ignore 後、ラップトップをシャットダウンせずに電源ボタンを押すことができます。

実行xev -event keyboardすると、電源キーのKeyPressが通常、別のプロセスによって食べられていることがわかります。

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

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  1   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   0   0   0   

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys:  1   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   0   0   0   

ただし、コンソールから直接xtermを実行するだけで、キーコードを取得してキーを再マッピングすることができました。

xinit /usr/bin/xterm -- :1
xev -event keyboard | tee /tmp/junk.txt
tail -n ???? /tmp/junk.txt
MappingNotify event, serial 28, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyPress event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

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

この時点で、xmodmapを使用してキーをマップすることもできました。削除するよりも見やすいバックスラッシュにマップしました:

 xmodmap -e "keycode 124 = backslash bar"

これを追加することで、実行とほとんど機能しない同等の機能を得ることができます~/.fluxbox/keysが、これはthisく、使用できないほど遅いです。

  # Remap the power off to a delete key...
  XF86PowerOff :Exec xdotool key Delete

xmodmapまたはsetxkbmapを使用して、通常のウィンドウマネージャーと同時に電源ボタンを使用するにはどうすればよいですか?

回答:


3

最終的な文章である質問を正確に理解していませんが、質問のタイトルに関連することができます:「削除する電源キーの再マッピング」。

/ usr / share / X11 / xkb / symbols / inetの「XF86PowerOff」またはキーボードに対応するものを「Delete」に置き換えてみてください。

そのファイルを更新するシステム更新後にこれを繰り返す必要があります。


詳細については、askubuntu.com / questions / 325272 /…を参照してください。この答えは受け入れられるべきです。
phil294

1

正確な答えではありませんが、fn+を押してみましたdeleteか?これは実際のDeleteとして機能するはずですが、実際のアクションは「バックスペース」であり、電源キーに非常に近いです。

別のヒント:

fn+ enterとして機能挿入を押すことができるようにする必要がありますので、ボタンshift+ fn+ enter貼り付けミドルクリックのように。


0

確かに言うのは難しい。これらはすでに試したことがあるかもしれませんが、簡単な解決策につながる可能性があります。

xmodmapは他のキーに対して機能していますか、それともxboxmapを完全に破壊しているfluxboxが行っていることはありますか?

xを起動し、電源キーをmodmapし、fluxboxを起動するとどうなりますか?マッピングは固執しますか?

fluxboxが機能して設定を保持する前にxmodmapを実行する場合、シェルスクリプトを作成して両方を適切な順序で呼び出すか、gdmを使用している場合、fluxboxが画像に入る前に読み取る~/.xmodmap~/.xmodmaprc自動的に行う必要があります。


はい、xmodmapは機能します。現在、xmodmap -e "mod1 = Alt_Lを削除" -e "mod4 = Super_Lを削除" -e "mod1 = Super_Lを追加" -e "mod4 = Alt_Lを追加削除"-e "MOD1 = Alt_R" -e "削除MOD4 = Super_R" -e "のkeysym Alt_R =削除" -e "のkeysym Super_R =を挿入"
ネイサン

fluxbox内にxmodmap -pkeの出力を含めることができますか?
マイクフェアハースト14年

@nathanですので、これは、xmodmapが実行されるとき、fluxboxの後、または前の問題です。素晴らしいwmで同じ問題があった
Darek
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.