再現手順は、
・scim-anthy の「入力方式」を「かな入力方式」に設定
・CapsLock を ON にする
この状態で色んなキーを押していくと、
「z」キー → 「っ」(shift modifiered)
「e」キー → 「ぃ」(shift modifiered)
「3」キー → 「あ」(non modifiered)
「4」キー → 「う」(non modifiered)
というように、「通常時(CapsLock OFF 時)には shift キーを押して出す文字」とそうでない文字とが混ざってる。
かな入力はほとんど使ったことないし、「CapsLock が ON の時に IME はどういう動作をするべきか」とかほとんど気にしたこともないので、あまり偉そうなことは言えないんですが、「あるキーは non modifiered な文字を返し、別なキーは shift modifiered な文字を返す」というマチマチな動作はやはり意図された動作とは思えないですよね、普通。
とりあえず、回避策としては、とにかく CapsLock キーは使わずに、「無変換」キーとか別なキーを割り当てて使うようにするしかないんじゃないかな。「とにかく CapsLock は ON にしない」と。MacBook しか持ってないんで、断言はできませんが。
でも、これって、多分相当前からあった現象なんじゃないかと思うんですが、今まであまり知られてなかったと言うのは驚き。それだけかな入力の人口が少ないってことなんでしょうねぇ。
あー、あれ? よく読むと、「CapsLock」キーを単独で押したときに、Eisu_Toggle が発行されるのと同時に CapsLock も ON になっちゃうのが問題? でも、手元では「CapsLock」キーを単独で押しただけじゃ、CapsLock は ON にはならないな。インジケータは点灯するけど…。
何か混乱してきたぞ。
【追記】6/6
寝ながら考えてたら何となく分かった気がする。
まず、「CapsLock」キーを単独で押しただけで CapsLock 状態になるというのは、手元では再現しないので、ユーザの環境依存な問題のように思う。ハードとか X とか。
-----
【追記】6/21
こんなの↓を見つけたが、Ubuntu 固有の問題らしいので自分では確認してない。LiveCD では発生せず、インストールしないと再現できないようなので、めんどくさい。
「CapsLockを押しただけでロックされてしまう現象」 - 忘れたときに備えた記録
手元の openSUSE 11.1 では
Option "XkbLayout" "jp,jp"にしたら確かに「CapsLock」キーを単独で押しただけで CapsLock 状態になったけども。
【追記】6/22
何か虫が知らせたので、もうちょっと調べたら、上記ブログに続きがありました。
「キーボード設定 - CapsLockの挙動とか」 - 忘れたときに備えた記録
要約すると、「xorg.conf は使わず、input-hotplug機能を利用しているので、変更する場合は sudo dpkg-reconfigure console-setup を実行して日本語106キーボードを選んだ後に、"OADG 109A"を選べ」ばいいらしいです。
多分これなんじゃないかな、という気がとてもしますが、こうなったらもう乗りかかった船なので、帰ったらインストールして確かめてみます。(続き)
-----
「CapsLock が ON の時に、あるキーは non modifiered な文字を返し、別なキーは shift modifiered な文字を返す」のは、uim-anthy でも同じだったので、「何か理由があるのかも」と思って考えてみたら、思い至った。
# ちなみに、ibus-anthy も同じ動作だった。
大文字小文字の区別があるのはアルファベットだけ。だから、CapsLock が ON の時、アルファベットキーは shift modifiered な文字を返すが、非アルファベットな数字キーとかは non modifiered な文字を返す。数字にはそもそも大文字小文字の区別がないんだから、CapsLock が ON だろうが関係ないわけか。
というわけで、これはある意味正しい動作なので、バグとは言えないですね。失礼をば。
しかし、それがユーザにとって使いやすい動作かどうかはまた別な話なので、ことえりと MS-IME がどうなってるか見てみた。
ことえりは、CapsLock が ON だと、ShiftLock な動作をした。つまり、非アルファベットなキーでも shift modifiered な文字が返ってきた。
例:
「z」キー → 「っ」
「e」キー → 「ぃ」
「3」キー → 「ぁ」
「4」キー → 「ぅ」
Windows マシンは持ってないんで、VMware Fusion に Windows7 RC 入れて MS-IME を試してみたら、ことえりとは真逆で、CapsLock が ON でもまるでそれを無視するかのように、アルファベットキーでも non modifiered な文字を返してきた。
例:
「z」キー → 「つ」
「e」キー → 「い」
「3」キー → 「あ」
「4」キー → 「う」
………こんなところでも、win と mac は互いに逆を行くわけね。
それでもとにかく、CapsLock ON 時の動作が(どっちかに)統一されてるという点では同じで、多分ユーザとしてはその方が分かりやすいんじゃないかとは思う。
尤も、「必要?」と訊かれたら、自分は「いえ、別に」と答えますが…。
【関連する記事】
↓
入力方式毎の打鍵数
http://jisx6004.client.jp/tsuki.html#hikaku
ちなみにかな入力のデメリットとしては日本語を入力している最中にシフトを押しながら入力する事でアルファベットを打ち込めるというローマ字入力ではあたりまえに出来る日英入り混じった文章を打ち辛いというのがあります。