Ubuntu日本語フォーラム
ログインしていません。
お久しぶりです。avidya です。
実はキーボードを新調しまして、より使い易いようにキーバインドを変更したいと考えています。
それで gnome-keyboard-properties を使って「Caps Lock」キーを「Ctrl」キーに変更しました。それは良いのですが、他の左「Ctrl」「Fn」「Win」「Alt」「無変換」キーを他のキーにバインドしたいのですが、検索しても方法が分かりませんでした。xmodmap の設定ファイルを作成して、起動時に自動実行させればよい、というところまでは調べたのですが、その設定ファイルの書き方を理解するところで挫折してしまいました。
なにかキーバインドを変更するようなユーティリティなどはないでしょうか?
最後の編集者: avidya (2009-03-26 06:55:13)
xmodmapファイルを作る場合、xkeycapsというGUIなユーティリティが転がっているはずです。
# モダンな方法もあるのかもしれませんが知りませんorz
オフライン
hito さん、いつもありがとうございます。
xkeycaps を入れて試してみます。
結果報告です。xkeycaps では日本語キーボードがリストされませんでした。やはり直接設定ファイルを作成しなければならないのでしょうか?もし、そうならわかりやすいページを教えていただけると幸いです。一応自分でも検索してはみたのですが、Caps Lock と Left Ctrl キーを入れ替える例ばかりで参考にならないんです。
コマンドの意味自体を理解しないといけないことは、わかってはいるのですが。
あああそうでした。日本語キーボードは対応していません。
xmodmap 無変換、とかで検索してみて出てくるページでは不足だったりしますか?
オフライン
中間報告です。http://d.hatena.ne.jp/higepon/20070421/1177119842 と http://x68000.q-e-d.net/~68user/unix/pickup?xmodmap を参考にこれからチャレンジしてみます。
問題は xev が「Fn」キーのコードを拾わないことですが。
中間報告です。
.Xmodmap ファイルの中身を以下のようにして、xmodmap に渡してやりました。
keycode 37 = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L keycode 49 = Escape NoSymbol Escape NoSymbol Escape keycode 64 = Control_L Control_L Control_L Control_L Control_L Control_L
すると keycode 49 の半角全角キーは Esc キーとして機能するようになりましたが、Ctrl キー (37) と Alt キー (64) の入れ替えがうまくいきません。このキーの入れ替えで現在つまづいています。
なにかいいアドバイスはないでしょうか?
最終報告です。キーバインドの変更が完了しました。以下、私の例です。
1..ファイル ".xinitrc" を以下の内容で作成する。
xmodmap $HOME/.Xmodmap
2.ファイル ".Xmodmap" を以下の内容で作成する。
! 半角全角キーを Esc に変換 keycode 49 = Escape NoSymbol Escape NoSymbol Escape ! ! Caps Lock キーを無効化 keycode 64 = ! ! Win キーを左 Alt に変換 keycode 133 = Alt_L ! ! 修飾子マップ mod4 から Win キーのコードを削除 remove mod4 = Super_L ! ! 無変換キーに Win キーを割り当て keysym Muhenkan = Super_L ! ! 修飾子マップ mod4 にWin キーのコードを再割り当て add Mod4 = Super_L ! ! 修飾子マップ Control から右 Ctrl を削除 remove Control = Control_R ! ! 修飾子マップ Mod1 から右 Alt を削除 remove Mod1 = Alt_R ! ! 旧右 Alt キーに、右 Ctrl を割り当て keysym Alt_R = Control_R ! ! 旧右 Ctrl キーに、右 Alt を割り当て keysym Control_R = Alt_R ! ! 修飾子マップ Control に 右 Ctrl を再割り当て add Control = Control_R ! ! 修飾子マップ Mod1 に 右 Alt を再割り当て add Mod1 = Alt_R
キーの入れ替えの場合、各コマンドの順序が重要になってきます。注意してください。
また、あらかじめ "xkeymap -pke"、"xkeymap -grammer"、"xkeymap -pm" の出力をファイルに落としておくと、参照する時に便利です。
なお、上記 ".Xkeymap" の内容はあくまで私が使用しているキーボードを私が使い易くするための設定です。キーボードや環境によってキーコード等が異なる場合があります。各キーコードは "xev" コマンドで、現在のキーマップは "xkeymap -pke" で調べてください。
Jumper EZbook S5を使っています。 文字打つとき右端のHomeとPgUPとPgDnとEndを無効もしくは便利なキー割当てがしたいです
ご教授お願いします
オフライン
こんなのがあります。参考にどうぞ。
https://github.com/sezanzeb/input-remapper
--------------------------
以下は私の設定
日本語キーボード
変換 "Zenkaku_Hankaku"
無変換 "disable"
無変換+A "key_home",
無変換+E "key_end",
無変換+U "key_enter",
無変換+H "key_left",
無変換+J "key_down",
無変換+K "key_up",
無変換+L "key_right",
無変換+D "key_delete",
無変換+N "key_backspace",
ひらがなカタカナローマ字 "key_rightshift"
メニューMenu "Super_R"
--------------------------
英語キーボード
Caps Lock+U "key_home",
Caps Lock+I "key_delete",
Caps Lock+O "key_backspace",
Caps Lock+P "key_end",
Caps Lock+M "key_enter",
Caps Lock+H "key_left",
Caps Lock+J "key_down",
Caps Lock+K "key_up",
Caps Lock+L "key_right",
Caps Lock "disable"
backslash "Super_R"
--------------------------
多機能マウス
音量上げる
Button EXTRA "XF86AudioRaiseVolume"
音量下げる
Button SIDE "XF86AudioLowerVolume"
オフライン