スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 作業を始めた | トップページ | スクリーンキーボードが動作 »

キーボードウインドウを作成

今はTiExtenderの開発フェーズで、次バージョンには仮想キーボード機能を追加する事にしているので、今日は、スクリーンキーボード用のウインドウを作成した。まだ、未完成なのだが、それらしいモノには出来そうだ。Macには、キーボードビューアもあるのだが。

キーボードビューアというのは、名前の通り、物理キーボードを押すと、その押したキーの位置が表示されるウインドウになる。

このキーボードビューアを使いたい場合には、「システム環境設定」の「キーボード」で、「メニューバーにキーボードビューア、絵文字と記号ビュアを表示」をチェックすると、メニューバーの日本語IMのプルダウンメニューに、表示/非表示選択用のメニューが追加されるので、表示を選択すれば、使える様になる。

で、このキーボードビューアの主たる存在理由は、Macの場合、オプションキー等の修飾キーを押しながら通常キーを押すと、特殊文字が入力できるのだが、物理キーのキートップには、そんな特殊文字は刻印されていないので、修飾キーを押しながら入力した場合に、各キートップでどんな特殊文字が入力可能になるのかを示す為、という事になる筈だ。

また、その延長線上の機能として、特殊キーを押すと、キーボードビューアのキートップには入力可能な特殊文字が表示されるのだが、そのキートップをマウスクリックすると、その特殊文字は仮想キー入力される様にもなっている。

つまり、このキーボードビューアというのは、名前に偽りアリで、キーボード入力用にも使えるのだが、特殊キー入力に特化している感じなので、Windowsに標準搭載されているスクリーンキーボードとは異なり、複数キーの同時入力は行えない。

と、いう事で、ネットを検索していると、Macでは、キーボードビューアがスクリーンキーボードだ、みたいな書き込みをしている人もいるみたいなのだが、実際の所、このキーボードビューアでは真面目なキー入力は不可能なので、実際には、Macには、スクリーンキーボードは標準搭載されていない、という事になる。

なので、今回、TiExtenderの拡張機能に、スクリーンキーボード機能を追加している訳なのだが、このスクリーンキーボードでは、当然の事ながら、複数キーの同時押しは可能にする。

同時押しの方式は、Mirror-DTCクライアントのスクリーンキーボードと同様に、右クリックすると押したままにする予定なのだが、まだ、その辺の細かい処理は実装できていない。

何故、そんな事も実装できていないのか、というと、スクリーンキーボードを実現する為には、特殊なウインドウが必要になるからだ。

具体的には、そのウインドウ上でマウスクリックが発生しても、キーボードフォーカスが移動してはならない。

前述のキーボードビューアは、そんな感じのウインドウになっているのだが、例によって、Appleのドキュメントを読んでいても、どうやったら、そんなウインドウを作成できるのか、なんて話は出て来ない訳だ。

なので、ネットを色々と検索しつつ、その方法を探していたのだが、結局、ネットに完全な形のサンプルプログラムは存在しなかったので、合わせて一本、みたいな感じで、複数の情報を合わせて、何とかする事になった訳だ。

そのためには、色々とテストしてみる必要があったので、時間がかかった訳なのだが、何とか、そういうウインドウは作成でき、そのウインドウ上に、キートップを表示する所までは、今日の時点で出来たので、明日には、スクリーンキーボードとして動作させる所まで実装は進む筈だ。

ちなみに、キーボードのレイアウトは、作者が使用しているApple純正の日本語ワイヤレスキーボードと同じにしてある。

なので。テンキー入力部は存在しないのだが、今時のMacの殆どは、これと同じキー配列の筈なので、どのMacを使っている人にも、別段、違和感は無い筈だ。

まあ、英語キーボードを使っている人にしてみれば、違和感はあるかもしれないのだが、そういうキーボードを使っている人は、自ら、茨の道を選択した訳なので、致し方ない、という事にはなる筈だ。

= この記事に関連する公開中ソフト =

TiExtender

TiExtender

(2016/10/25追加)

« 作業を始めた | トップページ | スクリーンキーボードが動作 »

トラックバック

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

この記事へのトラックバック一覧です: キーボードウインドウを作成:

« 作業を始めた | トップページ | スクリーンキーボードが動作 »

2017年12月
          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
31            

広告

プライバシーポリシー

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

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

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google