電磁波に撃たれて眠りたい!

今日も電磁波浴びまくりのIT業界で働く@mamohacyがガジェット/クラウド/IT業界を語ってくブログ

Ubuntu12.10+LXDEでキー配列を「好き勝手に」変更する方法

今回、現場で新しく配布された作業用PCのキー配列が変則的というか、小指で右シフトを使わない前提で設計されているというしょーもないレイアウトになっていました。

DELL vostro V131のenter周辺のキー配列。Shiftキーちっさ!

カメラロール-228

タッチタイピングを極めたら左右のシフトキーは使い分けるのが当然だし、右シフトを多用する自分としては押そうとするたびにカーソルキーの上が押されてしまい、特にターミナルでの作業に多大な支障が発生!bashが有効になってると上キーでヒストリコマンドが入力されてしまうので、長文コマンドを手打ちしている最中にダブルクォートを打とうとして右手小指で右シフトしたら上キーが押され、今までのコマンドが全部消えて前回のコマンドが表示された時には、ディスプレイをグーで殴りそうになりました。。。。。

ということで、「カーソルキーの上」を「シフトキー」にするという設定を基本に、このキー配列を普段使いに耐えられるものに変更します。

今回使用するのはUbuntu純正のキーバインドツール「xodmap」です。

まず、現在のキーがどのキーコードに当たっているか調べます。

$ xmodmap -pke

ずらずらとキーコード表示がでてくると思いますが、このうち変更したいと思っているキーコードをまるごとどこかにコピーしておきます。

で実際のキー変更ですが、画面キャプチャはShutterで行うし、キーバインドは別に当ててるんで今回はこいつを生贄にします。変更方法は下記の通り。

PrntScr → Delete

Delete → Home

Home → End

End → Up

Up → Shift_L

該当するキーコードを調べます。

keycode 50 = Shift_L NoSymbol Shift_L

keycode 107 = Print Execute Print Execute

keycode 119 = Delete NoSymbol Delete

keycode 110 = Home NoSymbol Home

keycode 111 = Up NoSymbol Up

keycode 115 = End NoSymbol End

キー配置の変更は、

$ xmodmap -e 'keycode [キーコード] = [設定内容]'

で変更できるので、元々の設定を当てたいキーに上書きしていくように設定コマンドを叩きます。

 

$ xmodmap -e 'keycode 107 = Delete NoSymbol Delete'

$ xmodmap -e 'keycode 119 = Home NoSymbol Home'

$ xmodmap -e 'keycode 110 = End NoSymbol End'

$ xmodmap -e 'keycode 115 = Up NoSymbol Up'

$ xmodmap -e 'keycode 111 = Shift_L NoSymbol Shift_L'

これでまずいったん動作確認を行います。

この設定は一時的なものなので、次回ログイン以降有効にするために、同じキーコード設定を.Xmodmapというファイル名でホームディレクトリ配下に保存します。

$ cd ~

$ vi .Xmodmap

keycode 107 = Delete NoSymbol Delete

keycode 119 = Home NoSymbol Home

keycode 110 = End NoSymbol End

keycode 115 = Up NoSymbol Up

keycode 111 = Shift_L NoSymbol Shift_L

あとは再ログインすると、設定が有効になるはずです。

変更後はそれはもう快適の一言!ちょとだけカーソルキー操作でもたつくことがありますが、それでも右シフトの打ち損じでカーソル位置が変わったりとかもないのでなんとかなりそうです。

それにしてもこういうしょーもないキー配置、以外に多いので本気でやめてもらいたいですね。以前与えられていたマシンもHome,End,PageUp,PageDownがカーソルキー+Fnキーに当てられてましたし。この4キーは文章編集とかコーディングするなら必須なんですよ。まぁMacにもないんですけど。。。。

ビジネスユース考えるならキー配列は重要なんで、自分が金出して仕事用のPC買うときは実物のキー配列を見てから買いたいですね。

【参考にさせて頂いたサイト】

↓Nothing but Programming: Ubuntuでキーボードの配置変更方法

http://nbp.jugglershu.net/2010/08/ubuntu.html

↓キーボード配置を変更する。変態的に。2 - 備忘録

http://d.hatena.ne.jp/kbkbkbkb1/20110417/1303028248

Ubuntu 9.04 でキー割り当て(キーボード配列)を変更 - 起動時に .Xmodmap が自動で読み込まれないときは? - 彼女からは、おいちゃんと呼ばれています

http://d.hatena.ne.jp/inouetakuya/20090917/1253158013