Question

a_kino on Tue, 07 Aug 2012 16:38:51


aKINOと申します。

宜しくお願い致します。

WindowsPhoneの開発をこれから始めようと考えております。

ソフトウェアキーボード(スクリーンキーボード)を作りたいと思っているのですが、参考資料が私の力では見つけられませんでした。

#デスクトップアプリのソフトウェアキーボードの開発経験はあります

文字を打ってその入力文字をクリップボードに貼り付けることで、代替的にソフトウェアキーボードを開発されている資料は見つけられたのですが、それ以上の情報が見つけられず困っております。

WindowsPhoneやWindows8Metroに向けたソフトウェアキーボード開発に関する情報やヒントを教えていただきたく、書き込みをさせていただきました。

何卒宜しくお願い致します。


Sponsored



Replies

Azulean on Tue, 07 Aug 2012 21:19:10


少なくとも Windows Phone 7.x に関しては、「方法がない」だと思われます。(参考1参考2参考3
また、Windows 8 の メトロアプリ においても同様のポリシーだと考えられます。(参考

カスタマイズできれば便利な場面もある一方、セキュリティ面で難題があるのかもしれませんね。
(審査で落とせるかもしれませんが、入力内容を送信させて情報を盗むなど)

kaorun on Wed, 08 Aug 2012 03:22:23


Windows Phoneに関してはソフトウェアキーボード、SIPを独自に開発することはできません。これまでに分かっている情報を見る限り、この件に関してはWindows Phone 8でも変化はなさそうです。
なので、純粋に文字を入力してクリップボードへ張り付けるだけのただのアプリケーションを開発する以上のことはできません。

Windows 8に関しては若干問題は複雑です。

まず、いわゆるデスクトップモードで使用するフローティングするソフトウェアキーボードであればおそらくそのままこれまで通りに使用可能です。ただし、これらをWindows 8のネイティブアプリとなるMetro Styleアプリ(仮)では使用することはできません。

次に、キーボードドライバを開発することもこれまでと同様に可能です。WDKやMicrosoft Keyboard Layout Creator(MSKLC)を使用して任意の配列のタッチキーボードを開発することが可能です。これによって、[PC設定]/[全般]/[ハードウェアキーボードに準拠したレイアウト]で表示できる標準レイアウトのタッチキーボードのレイアウトを変更することが可能です。こちらはMetro Styleアプリ(仮)でも利用可能です。
ただし、あくまでキー配列レベルで、根本的なアクションの異なるようなソフトウェアキーボードを作ることは現状ではできないのではないかと思います。
MSKLCに関してはあくまでテンプレート内の配置を変更できるだけで色々制約もあります。

Windows 8でかな入力用のタッチキーボードを作ってみた - Neutral Scent
http://d.hatena.ne.jp/kaorun/20120329/1332996737

また、これらの手法はあくまでIntelアーキテクチャのWindows 8のみで、ARMアーキテクチャのWindows RTでは使用できない可能性が高いと考えられます。

a_kino on Wed, 08 Aug 2012 14:21:24


詳細なご回答を下さり有り難うございます。

WindowsPhone、Metroともにキーボードの置き換えはできないのですね。

現状では主なスマートフォン環境では、キーボードを置き換えられるのはAndroidだけと言うことでしょうか。

スマホ向けのキーボードを作りたいのならば大人しくAndroidで作るべきですね。。。

(C#が好きなためWPで開発したく今回質問させていただいた次第です)

開発環境を整える前に情報を得ることができて、大変助かりました。

有り難うございました。