Ubuntu 12.10とキーボードとショートカットの設定

Ubuntuのキーボードやショートカット(マウスボタン含む)設定は複雑すぎると思う。歴史的背景があるとはいえ、うんざり。タブレットやスマートフォン登場後は古臭くなってしまった。



複雑さの要因は設定箇所が最低でも5箇所あるからである:

1.システム設定内、ショートカット設定
2.Compiz + Unity plugin、ショートカット設定
3.Compiz default、ショートカット設定

A. システム設定内、キーボードレイアウト
B. X-window ~/.Xmodmapによるキーボードレイアウト2で出来ないところをカスタマイズ

簡単にショートカット設定できるのが1。しかし、2,3で同じキーが設定されていれば無視されるか設定できない。
A,Bはレイアウト。Aは簡単だが設定範囲がせまく、キーによってはBの設定が必要。

2と3はCompizConfigツールやgconftool-2を使う(これらは効果がなかったり、不安定)。
Bは~/.Xmodmapなどを編集設定。(<あとで気がついたのだがUbuntu12.10から.Xmodmapが無視され無効になってしまっている, リンク先の対処でxmodmap ~/.Xmodmapをスタート時に実行することによって復活可能)

例:
* BはControl、Altキーの配置換えが可能、細かなレイアウト設定ができ、Macの日本語キーボード等が使いやすくなる。また¥キーの\や¥表示の制御可能。
~/.Xmodmapの例。MacKeyboard用に変更

! It referred to https://help.ubuntu.com/community/AppleKeyboard
clear control
clear mod4
clear Lock
keycode 37 = Control_L NoSymbol Control_L
keycode 134 = Control_R NoSymbol Control_R
keycode 133 = Alt_L Meta_L
!### change 134 to 116 if using Ubuntu hardy, not 8.10 or later. ###
add control = Control_L Control_R Caps_Lock
add mod1 = Alt_L 0x007D
add mod4 = Super_L
! for ¥ code key to backslash
keycode 132 = backslash bar prolongedsound

* Blenderのため、Alt+right-clickなどを無効にしたいときはCompizConfig->general Options->Key bindings内、Window Menuを<Super><Alt>Button3などへ変更する(現在、可能ならば無効にしたいができない、なぜか復帰してしまうので変更にしている)
注意:Unix系OSに慣れていないとCompizはマウスボタン設定が直感的ではない。Button2がミドルボタン(Wheel)、Button3が右ボタン/ついでにSuperはWinキーを表す。

* 2,3で奪われていないショートカットキーのみ1で設定可能

ボクの考えは出来るだけ「全アプリに影響するショートカットは無効にする」だ。使うのはAlt+tab関係ぐらいで、ほかはBlenderやEclipseなどのキー操作の複雑なアプリケーションに影響をすくなくしたいからである。emacsもCtrl+SpaceやAlt+Ctrl+sなどが奪われていると素早く使えない。また、これらのアプリはWindows, MacOSX, Ubuntu上で、出来るだけ統一した操作が望ましい。OSに振り回されて無駄な時間を過ごしたくないからである。

P.S.1
最近、タッチパネル対応で操作系が不安定な感じる。ここに書いた方法も後日大きく変わる可能性有る。
P.S.2
参考:compizが奪うキーバインド(Pluginによって変化)
Switch windows = Alt + Tab
Move window = Alt + left-click
Resize window = Alt + right-click

P.S.3
Wacomタブレットの設定も変わったようだ。
参考:http://nowcodingtime.blogspot.jp/2013/02/inkscapewacomubuntu.html

追伸:2013 Nov. 5
Ubuntu 13.10になり、統一を試みようとしている。が、しばらくは統一のために混乱が発生するだろう(漢字入力もその被害を受けているw)

コメント

このブログの人気の投稿

日本でコンピュータサイエンスを学ぶ難しさ

UML tool Dia