« Qt5.7.1がリリースされてました | トップページ | キーレイアウト用のデータが出来上がりました »

2017年1月11日 (水)

スクリーンキーボード KeroKeyboard を Qt で実現しよう

現在のソフトウェア・キーボード/ボタンはQt Designerで作成したウィジェットをベースに実装していますが、なかなか思うようなものにならなそうなので現在の実装を捨てようと思います。実装自体は泥臭くなってしまうとは思うのですが…

で、キーレイアウトの見本としたKeroRemoteのレイアウトを真似しようかと思ったのですが最近リリースされたKeroKeyboardが手本とするのにいいかもと思いました、Windows上で試せるので。

作者のIchiGekiさんに連絡して「レイアウトをパク…じゃなくて真似させてください(^_^)」とお願いして、ご了承頂きました。

キーのおおよその配置はこれまでもKeroRemoteを真似していたのですが、実際のキーの位置、キーの大きさの情報を計算するのにKeroKeyboardを参考にさせていただくことにしました。

画面上でドットレベルで確認する方法もあるのですが、おおよその配置が分かればいいので今回はKeroKeyboardのウィンドウをキャプチャし、プリンタでA4サイズで印刷して定規で測るという低レベルヽ(´▽`)/な方法をとりました。

Kerokeyboard


A4サイズで印刷すると270 mm x 75 mmという切りの良いサイズにKeroKeyboardが印刷されたのでこれを元に地味に測りました。キーの高さは15mm、ただしEnterキーだけは2つ分の30mm、幅は通常のキーで18mm、スペースキーは72mm…という感じです。これらの値を基本データとして持っておいてリサイズ時の実配置を計算するのに使います。

また現在はキーの情報をソースコード中に持っているのですが、これを機に外部ファイルに分離することにしました。

人が読める形のテキストファイルなので外部ファイルを追加すれば日本語、英語以外のキーボードにも対応できるメリットがあります。(キーボードタイプの情報も同様に外部ファイルに分離するのがいいのですが、まずはこちらを優先しようかと思います)

基本的なデータは揃ったので、これからKeroKeyboardをQtで実現してみます。キーイベントを実際に投げるところまでは実装しないかもしれませんが、見た目KeroKeyboard with Qtを目標とします。

もし需要があればKeroKeyboard on Mac/Linuxとかも実現できるかも…

« Qt5.7.1がリリースされてました | トップページ | キーレイアウト用のデータが出来上がりました »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: スクリーンキーボード KeroKeyboard を Qt で実現しよう:

« Qt5.7.1がリリースされてました | トップページ | キーレイアウト用のデータが出来上がりました »