みなし同時シフトに立ちはだかる壁。 

 …で、翻って飛鳥なのですが(またかよ!とか言わないでください…)、最近ついに「問題があってまともに打鍵できない」という話が上がって来ました(ぎっちょんさん曰く「失敗レポートの方が得るものが大きい」とのこと。しかもこの手の話になると、実際に困っている人から話が出てくること自体が稀ですから、こういう情報をもたらして下さると、非常に助かります)。
 この問題も、今までは「体験した人しか知らない」状態でして、それが原因で「何が悪いのかは解らないけど、ひとまず飛鳥はダメだ」と思う方がほかにもいらっしゃったはずです。


 シフトが効かない点は…うーん、ひとまず「nキーロールオーバーは効くけど、nキー同時打鍵が効かない」とか、「そもそも2キーロールオーバーまでしか保証されない」とか、そういうキーボードがあるかもしれません。その辺の問題が発生している場合も考えられます。
 たとえば…手元のToshiba/DynabookC8で「左親指」を押しながら「v」を押しつつチェックした限りでは、さらに何らかの文字キーを叩こうとした場合「:」キーを押したときだけは動作が変(「:」を叩いたときにでるべき文字が何も出ない)だったりします。
 (より正確には、「無変換」「v」「:」の3キーのうち、2キーまでは同時に押してもキーが働く(後から押した方のキーリピートがかかる)のですが、3キー同時に押した途端にキーリピートが止まってしまう状態です。これは姫踊子草を終了させても変わらないので、単にキーボード制御用のLSI側がキーコードを吐かなくなる事が原因、と見て間違いないようです。まだおかしなキーコードを吐かないだけ行儀が良いと思いますが、中には全く別のキーコードを吐く場合もありそうです)


 キーボードの配線とゆーのはマトリックス式(行と列に格子状に電線を引いて、その交点にスイッチをつけている)なので、「まあ同時に打鍵されるおそれはないでしょ」とかいうキー同士がL字に接するよう配置していたりする訳です(通常の逐次打鍵や、通常の同時打鍵ならこれでもまず問題はない。一方飛鳥の場合はあり得る。□とLは両方とも2行2列が活線となり、タイミングを見ての判定であっても面倒もしくは無理)。飛鳥のように3キー以上の同時押し(シフトキーを押しつつロールオーバーするなど)を文字入力に利用する事など想定してキーボードを作っていたりはしないので、「3キー目を押されたときに、特定の1キー目をソフトオフしてしまう」とか、「特定の3キー目を取得できない」とかいう不都合が起きてしまう可能性があります。


 厄介なことに、キーの配線がどうとか、キーボード用のLSIがどうとか言うことについては(私が知らないだけ、という可能性は高いのですが)規格がないはずで、「逐次打鍵で正しくキーコードを吐ければいいじゃん」というキーボードがあってもおかしくない気がします。
 …ってテキトーな事を書いてちゃマズいので、(調べが付くかどうかは不明ながら)ひとまず調べることにします。


 ひとまず、調べるべき事メモ。

  • おそらくはキーコードの問題なので、姫踊子草を常駐させる必要はない。
  • キーコードのスキャンを正確に行う場合は、窓使いの憂鬱にあるキーコードスキャナを使うのが解りやすくて良いかも。
  • キーコードのチェック対象は、ひとまず手元にあるキーボードから始める。
  • すべて状況が同じか、あるいは一品ごとに異なるかをチェックする。
  • 無変換・変換(あるいは親指シフトキーとして最も適していると思われるキー2つ)のうちいずれかと、任意の文字キー2つの同時打鍵についてのみ調査する。同指縦連については(タッチタイプで打鍵する限りはどうやっても)同時打鍵できないが、これについても一応調べる。
  • 不都合の数が多い場合には表とし、数が少ない場合は単に羅列とする。
  • 大和言葉のカナはどういう風にでも連なる」というコメントを忘れないこと。


 (以下、不確定なので隠してます…きちんとチェックしないと。)