スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 「新たな漫画村」が急成長・・・ | トップページ | 敢えて、仕様は無視 »

日本語キーボードの謎

今はAmuseGraphicsの開発フェーズで、数日前に作ると書いていたキーボードビューアは、とりあえず、動作する様になってはいるのだが、表示される日本語関連のキーボード状態が、今時の人間には理解できない状況になるので、これらの扱いをどうしたものかと思っている。

問題になっているのは、「半角/全角」、「英数」、「カタカナ」キーになる。

で、何が問題なのかというと、キーボードビューアというのは、キーボード上の当該キーが押されているか押されていないかを表示するのが主な機能になるのだが、上記の三種類のキーについては、OSに現在の状況を問い合わせても、キーボードイベントを監視しても、実際には押されていなくても、押されている状況になる事がある訳だ。

例えば、「英数」キーを押すと、「英数」キーは押されたままの状態に固定されてしまい、再度、押しても押されたままの状況に変りは無いのだが、「カタカナ」キーを押すと、「英数」キーには触っていないにも関わらず、キーが離された状態になったりする事もある訳だ。

問題は、「事もある」、という部分で、英数とカタカナは常にどちらかが押された状態になる、というのであれば、まだ、理解できない事もないのだが、必ずしも、そうなるとは限らない訳だ。

これに対して、「半角/全角」キーについては、トグルっぽい挙動、つまり、一回押して離すと押したまま、次に押して離すと、離した状態になるので、まだ、判りやすいのだが、これについても、途中で「英数」キーを押すと、トグル状態の変更が上手く行かなくなったりもしている。

と、いう事で、上記はOSから現在のキーボード状態を取り込むAPIを使って調べた結果なので、バグが入り込む余地はないので、実際に、OS上では、上記の様な扱いになっている筈だ。

しかし、今時の人間としては、そんなキーボードの状況と日本語入力の状況とは一致しない訳なので、そんなOn/Off表示をされても、勘違いするだけで良い事はない、という感じになるかもしれない訳だ。

もっとも、何かのアプリケーションで固定的に利用している状況でなら、「英数」キーと「カタカナ」キーを英語/日本語入力用の切り替えに使えない事もなくて、その場合には、キーボードビューアを見ていると、それらのどちらが最後に押されているのか、というのは判る訳だ。

「半角/全角」キーについても、同様の使い方は可能で、使用しているソフトが固定されていれば、押された状態が表示されていれば、日本語入力が可能な状況で、離された状況になっていれば、英語入力が可能な状況、という事になる。

ただし、その状況でも、違うソフトのウインドウに移ってキー入力すると、例え、「半角/全角」キーが押されていようとも、半角の英数が入力されてしまったりする訳だ。

と、いう事で、実際の所、上記はWindows環境における日本語キーボードの仕様の筈なのだが、それをそのまま見せてしまうと、作者が一目で判るバグを残したまま、キーボードビューアをリリースした、と、思われてしまう可能性大な訳だ。

なので、どうしたモノかなあ、と、思っているので、まだ、リリースできていないのだが、これらのキーについては、押している状況での色を変えるなどして、他のキーとは押されている状況の意味あいが異なるという事を示す事で、良しとする事にするかもしれない。

ちなみに、全てのキー入力を試してみた所、「Pause/Break」キーについても、少し変な挙動が見られた。

具体的には、キーを押し続けても、直ぐに離された状態に見える感じなのだが、作者の開発環境はMac mini Late2014で、それに接続しているキーボードは、Appleのワイヤレスキーボードになる。

なので、「Pause/Break」キーどころか「半角/全角」キーもないので、デバッグがし辛い事この上もない。

このため、暫くは、デスクトップPCに繋いでいるWindows PC用の109USBキーボードを繋いで使う事にしようか、と、思ったりもしているのだが、このキーボードにも、Appleのワイヤレスキーボードには相当品がある右側のWindowsキーは無かったりする。

« 「新たな漫画村」が急成長・・・ | トップページ | 敢えて、仕様は無視 »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/67126270

この記事へのトラックバック一覧です: 日本語キーボードの謎:

« 「新たな漫画村」が急成長・・・ | トップページ | 敢えて、仕様は無視 »

2018年9月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google