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*****