OK、私はこれを自分のMac(バージョン10.6.8)とWindows XPでローカルにテストしたので、良いニュースはそれが機能することです(そしてそれは驚くほど簡単です)。
基本的な考え方は次のとおりです。
- コマンドラインからオンスクリーンキーボードを開く方法を知っている
- JavaScriptからコマンドラインを実行できるようにブラウザを設定します
- HTMLを書いてください:-)
両方のプラットフォームの手順は次のとおりです。
マック
Macの場合、次のXcodeプロジェクトをダウンロードしてビルドします。
ビルドターゲットがクライアントMacと同じであることを確認してください(たとえば、64ビットIntelなど)。出力は、と呼ばれる実行可能ファイルになりますkeyboardViewer
。これにより、実行時にオンスクリーンキーボードがポップオープンします。
ユーザーのデスクトップに保存したと仮定するとkeyboadViewer
、実行するコマンドは(私の場合のように)次のようになります。
/Users/Oliver/Desktop/keyboardViewer
。
ウィンドウズ
Windowsでは、コマンドラインからオンスクリーンキーボードを開く方がはるかに簡単です。次の(または同様の)がそれを行います:
C:\WINDOWS\system32\osk.exe
Firefox
次に、ブラウザからこのファイル(またはWindowsコマンド)を実行する必要があります。したがって、Firefoxアドオンをここにインストールします。
このアドオンを使用すると、JavaScriptからOSコマンド(ファイルの実行など)を実行できます。アドオンからこれを実行する前に、このコマンドを許可されたコマンドのリストに追加する必要があります。
これを行うにabout:config
は、ブラウザのアドレスバーに移動します。設定のリストを右クリックして、[新規]>[文字列]を選択します。追加する新しい設定の名前はですextensions.commandrun.allowedcommands
。値には、次のように入力します。
- Macの場合:
["/Users/Oliver/Desktop/keyboardViewer"]
- Windowsの場合:
["C:\\WINDOWS\\system32\\osk.exe"]
HTML
これで、次のようなHTMLを使用してFirefoxからオンスクリーンキーボードを開くことができるようになります。
<script language="javascript">
function openKeyboard(){
CommandRun.run("/Users/Oliver/Desktop/keyboardViewer", []);
}
</script>
<input type="text" onfocus="javascript:openKeyboard();" />
Windowsでは、次のように置き換えます。
CommandRun.run("C:\\WINDOWS\\system32\\osk.exe", []);
別
別の方法は、AdobeAirのようなもので独自のブラウザを作成することです。そのメソッドを使用して、JavaScriptがAirアプリを呼び出し、Airアプリが実行されますkeyboardViewer
(またはWindowsの同等の機能)。