ソフトウェアキーボード&マウスパッドアプリ「ちーたんタッチボード Ver 0.21」公開しました 2014年5月31日2014年5月31日 onodera_sf 創作 (ツール)・情報 (ソフトウェア) 先日ブログに書いた通り Ver 0.21 を公開しました。不具合の修正だけなのでバージョンを 0.01 だけ上げています。 修正した不具合の内容は 一部のアプリケーションでカーソルキーや特殊キーを押したときに別のキーが押されたかのように動作する不具合 DirectInput を使用したアプリケーションに対してキーが反応しない不具合 です。主にゲーム系のアプリケーションに対して使用したときの不具合対応となっています。 ダウンロード ]]> Share this...TwitterFacebookLinkedinTumblrRedditPrintEmail
Alt+Tab については実装できるか検討してみます。 ただ、Alt+Tab の選択画面はほかの場所をタッチすると閉じてしまうという制約があるため、キーを押したタイミングで表示⇒消えるという動作になると選択画面の表示は難しいかもしれません。 (Windows 標準のタッチキーボードは特殊であるためウィンドウとしてはカウントされず、Alt+Tab を押しても消えずに残っている) 返信
少し調べてみましたが、Windows 8 では Alt+Tab や Win+X などのシステムにかかわる UI に対しての操作に制限がかけられているため、表示できないようです。 これらに対して操作できるようにするには「管理者権限」「証明書のインストール」「Microsoft の許可」などが必要になってくるため、Alt+Tab 等については当アプリケーションでは対応しません。試してはいませんが Windows 7 以前の OS では動くようです。 今回の質問については後ほど Q&A に載せたいと思います。 返信
ちーたんタッチボードをダウンロードさせていただきました。 ありがとうございます キーボードのキーごとに画像を張り付けられるのが面白そうなので使わせてもらいました。 ところであるキーに ,"Processes":[{"KeyType":"RightShift"},{"KeyType":"Backslash"}] と記述すると普通のShiftキーも似たような動作になってしまいます なにか記述が間違っているのでしょうか? 返信
KeyType による修飾キーの名前の一致によって処理が重なってしまっている可能性があるかもしれません。この点について後ほど修正するか考慮してみます。(ユーザーの意図もあるかもしれないため修正しないこともあります) 以下のように Processes を持っている KeyType の名前を適当に設定したらどうなるでしょうか。(今試せないので予想で書いています)。あと不要なパラメータは記載していないので注意してください。トグル形式でない場合は IsToggle も false にしてください。 { "IsToggle": null, "KeyType": "適当な文字", "Processes": [ { "IsModifier": true, "KeyType": "RightShift", }, { "KeyType": "Backslash", } ] }, 返信
すみません 自己解決しました IllustCspLeftを参考にしたらできました Shiftキーのほうに "Processes":[{"KeyType":"RightShift","IsModifier":false}] を加えればいいんですね 返信
IsModifier を false にするとそのキーはほかの修飾キーに影響せず単独で動作するようになりますので一応目的の動作にはなるかと思います。 ただ、IsModifier を true にしたときにほかのキーへの影響が私が想定していたものをは少し違っていたので、のちのバージョンで修正するか検討してみたいと思います。 返信
レジストリエディタ(regedit.exe)は管理者権限で起動されるアプリケーションであるため、管理者権限で起動されていないアプリケーションからは操作できません。レジストリエディタをちーたんタッチボードで操作したい場合はちーたんタッチボードを管理者権限で起動してください。 返信
あと、書き忘れましたが、ちーたん終了時、かなりの確率で例外が発生するのは、まだベータ段階と考えてよろしいのでしょうか? 最初は、キーボードのカスタマイズをしたせいかと思いましたが、起動時には何も出ず、カスタマイズしたキーボードも問題なく動作します。 素晴らしいアプリだと思いますが、きれいに終了してくれないことだけが残念です。 なお、ダウンロード→解凍→起動→終了でも、例外はほとんどの場合で出ますので、設定の変更で発生しているとかではなさそうです。 機種依存も疑いましたが、タブレットだけでなく、母艦のVAIOノートでも確認できました。 終了時に例外で落ちる確率は非常に高いのですが、いまひとつ再現性がないというか、10回に1回~2回くらい、問題なく終了するのが逆に不思議で、どういう条件のときに通常終了するのかが謎です。 返信
自己レスです。ほぼ犯人をつきとめました。 ウイルスバスターとコンフリクトするようです。 特に常駐自体を止めなくても、リアルタイムスキャン機能を止めるだけで、終了時に全く落ちなくなりました。 リアルタイムスキャン機能を再開させると、ほぼ確実に終了時に落ちますので、まあ間違いないかと思います。 返信
ちーたんタッチボードでUS配列ボードコンテナ定義ファイルは未提供との事でしたので、現在自力で作成しております。 USキーの「" '」に対応するKeyType名称は「OemQuotes」かと思い定義してみたのですが、「D7」と同じ内容を返してきます。 また「CapsLock」についても定義するとIMEが起動してしまいます。 Windows(Win32API)における仮想キーコードでいうと、前者は「VK_OEM_7(&hDE)」、後者は「VK_CAPITAL(&H14)」を返すKeyType名称がどれか教えていただきたいのですが。 ちーたんタッチボード専用ページのキータイプ列挙のリストに、対応するWindowsの仮想キー名称(あるいはキーコード)を併記していただけると検証し易いのですが...... 返信
ご報告ありがとうございます。 コメントの通り、すべてのキーに対して現在完全に対応していないため、一部のキーは正しく動作しないものがあります。これらについては今後のバージョンアップで対応したいと思います。 とりあえず現状の対策としては KeyType に「VirtualCode」を指定することによって任意のコードを送信することができるようになっているのでこちらで対応お願いします。(ただしこちらもすべてのコードが対応しているわけではありませんが、仮想キーコードで定義されているキーであれば大体大丈夫です) 以下のように KeyType と Parameters に値を設定してください。(パラメータは一部抜粋) (本当は Parameters の VitrualKey はいらないのですが、不具合で無いと動きません・・・) "Keys": [ { "DisplayText": "”‘", "KeyType": "VirtualCode", "Parameters": "{"VitrualCode":"222","VitrualKey":""}", "Position": { "Height": 60, "Width": 60, "X": 64, "Y": 30 } }, { "DisplayText": "CapsLock", "KeyType": "VirtualCode", "Parameters": "{"VitrualCode":"20","VitrualKey":""}", "Position": { "Height": 60, "Width": 60, "X": 64, "Y": 30 } }, ] 返信
早速のご回答ありがとうございます。 指示いただいた通り記述し解決しました。 修正している間、先に当方が報告した内容に誤りがある事が判明しました。 「” ‘」はKeyType名称「OemTilde」で対応可能で、表示されなかったのは「` ~」でした、すいません。 なおこのキーコードはWindows仮想キーコード「VK_OEM_3」に相当するのでKeyType名称「At」で対応できました。 なにはともあれ、これでUSキーで統一した当方PC環境でも快適に使えそうです。 定義ファイル作成が大変ですが、その分柔軟性が高く気に入っております。 より使い易くなるよう今後のバージョンアップ期待しております。 返信
Alt+Tabでのアプリケーション切替ができないようですが
今後実装される予定はありますでしょうか?
Alt+Tab については実装できるか検討してみます。
ただ、Alt+Tab の選択画面はほかの場所をタッチすると閉じてしまうという制約があるため、キーを押したタイミングで表示⇒消えるという動作になると選択画面の表示は難しいかもしれません。
(Windows 標準のタッチキーボードは特殊であるためウィンドウとしてはカウントされず、Alt+Tab を押しても消えずに残っている)
少し調べてみましたが、Windows 8 では Alt+Tab や Win+X などのシステムにかかわる UI に対しての操作に制限がかけられているため、表示できないようです。
これらに対して操作できるようにするには「管理者権限」「証明書のインストール」「Microsoft の許可」などが必要になってくるため、Alt+Tab 等については当アプリケーションでは対応しません。試してはいませんが Windows 7 以前の OS では動くようです。
今回の質問については後ほど Q&A に載せたいと思います。
ちーたんタッチボードをダウンロードさせていただきました。
ありがとうございます
キーボードのキーごとに画像を張り付けられるのが面白そうなので使わせてもらいました。
ところであるキーに
,"Processes":[{"KeyType":"RightShift"},{"KeyType":"Backslash"}]
と記述すると普通のShiftキーも似たような動作になってしまいます
なにか記述が間違っているのでしょうか?
KeyType による修飾キーの名前の一致によって処理が重なってしまっている可能性があるかもしれません。この点について後ほど修正するか考慮してみます。(ユーザーの意図もあるかもしれないため修正しないこともあります)
以下のように Processes を持っている KeyType の名前を適当に設定したらどうなるでしょうか。(今試せないので予想で書いています)。あと不要なパラメータは記載していないので注意してください。トグル形式でない場合は IsToggle も false にしてください。
{
"IsToggle": null,
"KeyType": "適当な文字",
"Processes": [
{
"IsModifier": true,
"KeyType": "RightShift",
},
{
"KeyType": "Backslash",
}
]
},
ご返事ありがとうございます
いろいろ試してみたのですが Shiftキーをいじっても
他のキーをいじってもあまり変わらないみたいです。
確認の方ありがとうございます。
こちらでも調査いたしますのでお待ちください。
すみません 自己解決しました
IllustCspLeftを参考にしたらできました
Shiftキーのほうに
"Processes":[{"KeyType":"RightShift","IsModifier":false}]
を加えればいいんですね
IsModifier を false にするとそのキーはほかの修飾キーに影響せず単独で動作するようになりますので一応目的の動作にはなるかと思います。
ただ、IsModifier を true にしたときにほかのキーへの影響が私が想定していたものをは少し違っていたので、のちのバージョンで修正するか検討してみたいと思います。
レジストリエディタ(regedit.exe)でキーが効かないようなのですが、これはAlt+Tabのような、Windowsの仕様なのでしょうか?
レジストリエディタ(regedit.exe)は管理者権限で起動されるアプリケーションであるため、管理者権限で起動されていないアプリケーションからは操作できません。レジストリエディタをちーたんタッチボードで操作したい場合はちーたんタッチボードを管理者権限で起動してください。
そうですよね。そのことをすっかり失念しておりました。ショートカットを作成しなおして動作確認いたしました。レベルの低い質問に答えてくださって申し訳ないです。
あと、書き忘れましたが、ちーたん終了時、かなりの確率で例外が発生するのは、まだベータ段階と考えてよろしいのでしょうか?
最初は、キーボードのカスタマイズをしたせいかと思いましたが、起動時には何も出ず、カスタマイズしたキーボードも問題なく動作します。
素晴らしいアプリだと思いますが、きれいに終了してくれないことだけが残念です。
なお、ダウンロード→解凍→起動→終了でも、例外はほとんどの場合で出ますので、設定の変更で発生しているとかではなさそうです。
機種依存も疑いましたが、タブレットだけでなく、母艦のVAIOノートでも確認できました。
終了時に例外で落ちる確率は非常に高いのですが、いまひとつ再現性がないというか、10回に1回~2回くらい、問題なく終了するのが逆に不思議で、どういう条件のときに通常終了するのかが謎です。
自己レスです。ほぼ犯人をつきとめました。
ウイルスバスターとコンフリクトするようです。
特に常駐自体を止めなくても、リアルタイムスキャン機能を止めるだけで、終了時に全く落ちなくなりました。
リアルタイムスキャン機能を再開させると、ほぼ確実に終了時に落ちますので、まあ間違いないかと思います。
ちーたんタッチボードでUS配列ボードコンテナ定義ファイルは未提供との事でしたので、現在自力で作成しております。
USキーの「" '」に対応するKeyType名称は「OemQuotes」かと思い定義してみたのですが、「D7」と同じ内容を返してきます。
また「CapsLock」についても定義するとIMEが起動してしまいます。
Windows(Win32API)における仮想キーコードでいうと、前者は「VK_OEM_7(&hDE)」、後者は「VK_CAPITAL(&H14)」を返すKeyType名称がどれか教えていただきたいのですが。
ちーたんタッチボード専用ページのキータイプ列挙のリストに、対応するWindowsの仮想キー名称(あるいはキーコード)を併記していただけると検証し易いのですが......
ご報告ありがとうございます。
コメントの通り、すべてのキーに対して現在完全に対応していないため、一部のキーは正しく動作しないものがあります。これらについては今後のバージョンアップで対応したいと思います。
とりあえず現状の対策としては KeyType に「VirtualCode」を指定することによって任意のコードを送信することができるようになっているのでこちらで対応お願いします。(ただしこちらもすべてのコードが対応しているわけではありませんが、仮想キーコードで定義されているキーであれば大体大丈夫です)
以下のように KeyType と Parameters に値を設定してください。(パラメータは一部抜粋) (本当は Parameters の VitrualKey はいらないのですが、不具合で無いと動きません・・・)
"Keys": [
{
"DisplayText": "”‘",
"KeyType": "VirtualCode",
"Parameters": "{"VitrualCode":"222","VitrualKey":""}",
"Position": {
"Height": 60,
"Width": 60,
"X": 64,
"Y": 30
}
},
{
"DisplayText": "CapsLock",
"KeyType": "VirtualCode",
"Parameters": "{"VitrualCode":"20","VitrualKey":""}",
"Position": {
"Height": 60,
"Width": 60,
"X": 64,
"Y": 30
}
},
]
早速のご回答ありがとうございます。
指示いただいた通り記述し解決しました。
修正している間、先に当方が報告した内容に誤りがある事が判明しました。
「” ‘」はKeyType名称「OemTilde」で対応可能で、表示されなかったのは「` ~」でした、すいません。
なおこのキーコードはWindows仮想キーコード「VK_OEM_3」に相当するのでKeyType名称「At」で対応できました。
なにはともあれ、これでUSキーで統一した当方PC環境でも快適に使えそうです。
定義ファイル作成が大変ですが、その分柔軟性が高く気に入っております。
より使い易くなるよう今後のバージョンアップ期待しております。