今回、現場で新しく配布された作業用PCのキー配列が変則的というか、小指で右シフトを使わない前提で設計されているというしょーもないレイアウトになっていました。
↓DELL vostro V131のenter周辺のキー配列。Shiftキーちっさ!
タッチタイピングを極めたら左右のシフトキーは使い分けるのが当然だし、右シフトを多用する自分としては押そうとするたびにカーソルキーの上が押されてしまい、特にターミナルでの作業に多大な支障が発生!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 が自動で読み込まれないときは? - 彼女からは、おいちゃんと呼ばれています