[Anthy-dev 1666] Re: uim-pref上でのキー表現

アーカイブの一覧に戻る

YamaKen yamak****@bp*****
2005年 1月 29日 (土) 05:40:58 JST


At Fri, 28 Jan 2005 18:11:14 +0900,
ekato****@ees***** wrote:
> 
> On Fri, Jan 28, 2005 at 11:58:42AM +0900,
> YamaKen <yamak****@bp*****> wrote:
> 
> > ・アルファベットキーはuim-pref上では常に大文字で表す
> > ・アルファベットキーに対する<Shift>の暗黙無視を行わない
> > ・アルファベットキーに対しては大文字・小文字を無視する

> SKK 的にはかなり気持悪く感じます。特にアスキーモードに移行する l が。
> <Shift>L もちょっといやですね。
> 
> ぼくだったら、uim-pref 上の表示として
> 
> o アルファベットキーのみでは、case を区別する。
> o modifier 付きのキーでは case を区別せず小文字で表記する (<Control>j
>   のように)
> 
> とするかもしれません。

ちょっと考えてみたんですが、ルールが複雑になりすぎると思います。

Caps Lockがonの状態では"l"を入力しようとするとShiftを押す事にな
るため、"<Shift>l"として渡ってきます。このため、1つの表現でCaps
Lock on/offの両方に対応しようとすると、caseの区別に加えて<Shift> 
の無視を暗黙に行う必要があります。

一方、このルール上で"J"に加えて<Control>が押されている事を検出し
ようとすると"<Control><Shift>j"と表現される事になります。この場
合は"J"の場合とは逆にcaseが無視され、さらにユーザが目にする表現
に<Shift>が加わります。

<Control>を加えただけでこのような表現の変化が生じると、一貫性の
無さによりユーザの理解を妨げる事になると思います。

上記の"l"の例はskkでは起こり得ないシチュエーションですが、anthy
でskk風モード遷移を使っている場合にはCaps Lockしたまま操作する場
合に発生します。


一方で加藤さんの言う気持悪さというのも理解できるので、以下のよう
な妥協案はどうでしょうか。

・アルファベットキーはuim-pref上では常に *小文字* で表す
・アルファベットキーに対する<Shift>の暗黙無視を行わない
・アルファベットキーに対しては大文字・小文字を無視する

要は最初の案の「常に大文字」を「常に小文字」に変えただけです。
違和感は減ると思いますがどうでしょうか。

"L" → "<Shift>l"
"l" → "l"
<Control>j,<Control>J → <Control>j
<Shift>space          → <Shift>space

-------------------------------
ヤマケン yamak****@bp*****



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る