フォーラムへの返信
-
投稿者投稿
-
うぇぶしまキーマスター
OS上で押されているキーを参照できるソフトウェアを使えば、OSがどんなキー操作を受け取っているかを見られると思います。
かえうち にはキー入力以外の表示手段がないので、それを かえうち 側でやるのは大変そうだと思います。うぇぶしまキーマスター実装が困難なのではなく、論理的な定義が難しいことに問題があります。
例えば、- Ctrl押下で参照するレイヤーで「修飾キーを押している間 有効になる配列面」のAlt参照レイヤーを別に設定
- Alt押下で参照するレイヤーで「修飾キーを押している間 有効になる配列面」のCtrl参照レイヤーを別に設定
が別々の配列面に設定されていたら、どちらを参照すべきか不確定ですよね。さらに Ctrl-Alt-Win-Shift-○ であれば24通りの参照ルートになってしまいます。
判定が一意になり、かつ人間に理解できる論理構造となると、現在のような設定の方が適切だと思います。うぇぶしまキーマスターこのキー配列設計ではCtrlとShiftを押しながら配列面の切り替えを行うことになります。マクロが実行される間もCtrlとShiftは押されたままですから、マクロ実行中もすべてのキー操作にCtrlとShiftが付いたままになります。例えば「マクロA5」で実際にシステムが受け取るのは、[Ctrl-Shift-無変換][Ctrl-Shift-英数]となります。
ATOKではCtrlやShiftが押されているかどうかで動作を分けることができます。デフォルトでは[Ctrl-Shift-英数]や[Ctrl-Shift-無変換]などは「何もしない」になっていると思います。
対処法は2パターンあります。
[かえうち のカスタマイズで対処する場合]
マクロに設定されている無変換や英数などのキーを、(添付画像のように)Ctrl・Shiftを「外す」に指定したキーに変更してください。
詳しくは[マニュアル]通常キー の「修飾キーの指定」をご覧ください。[ATOKの設定で対処する場合]
Ctrl-Shift-無変換 などの該当キーの設定を、修飾キー無しの設定と同じにしてください。Attachments:
うぇぶしまキーマスター「かえうち」のレイヤー概念は,レイヤー0〜31を常に31→0の方向で通して見ていて,レイヤーを有効/無効にすることで有効キーの判定を切り替えているものと理解しました
正しいです。
「入っている」レイヤーからレイヤー0に向かって参照して一番近くのレイヤーで設定されているキー定義を実行する,と考えていた
それではごく単純なキー配列さえも実現できなくなります。
基本的にはマニュアルのキーボード配列面を読んでください、としか言えません。配列面の優先順位、起動時の状態、有効無効の切り替わりと効果はすべてここに書かれています。優先順位付きレイヤー(=層)を有効/無効にすることで結果が変わるというのはPhotoshopなどのレタッチソフトでも使われている概念なので、かえうち に限った特殊な考え方ではないと思います。
うぇぶしまキーマスターCtrl押下で参照するレイヤーで「修飾キーを押している間 有効になる配列面」のAlt参照レイヤーを別に設定すれば、そのレイヤーはCtrl+Altの参照レイヤーとして機能するのでしょうか.
そうはなりません。
「修飾キーを押している間 有効になる配列面」は、文字キーが押された瞬間に判定されます。文字キーを押したときにCtrlとAltが両方押されていれば、(Altに指定した配列面ではなく)[複数]に指定した配列面を参照します。うぇぶしまキーマスター起動時はレイヤー0が「面ON」,レイヤー1〜31が「面OFF」となっているという理解でいいでしょうか?
はい。正確には、[マニュアル]キーボード配列面に書かれている通り、「起動時は最も優先順位が低い『配列面0』だけが有効」です。
(おっしゃっている意味は分かりますが)「面ON」は「ある配列面を有効にする操作」を指します。つまり「面ON 1」=「配列面1の有効化」です。カスタマイズ画面上では1キーに書ける文字数が限られているのでこのような表記になっています。
そして,同時押しMODやユーザーMOD,「修飾キーを押している間 有効になる配列面」は,押している間だけ「配列面」に設定しているレイヤーが「面ON」状態となり,離すと「面OFF」となる,ということなのでしょうか?
ユーザーMODの通常シフト と 修飾キーを押している間有効になる配列面 については合っています。
ユーザーMODの前置シフト と 同時押しMOD については有効になるタイミングが異なります。それぞれのマニュアルページをご覧ください。うぇぶしまキーマスター「面ON」「面OFF」がそれなんですか?
そうです。
うぇぶしまキーマスターここで設定したレイヤーへは,CTRL+ALTでもSHIFT+WINでもCTRL+ALT+SHIFTでも同じレイヤーに飛ぶことになるのでしょうか?
そうです。
技術的には修飾キーのあらゆる組み合わせに別々の配列面を設定することができます。
修飾キーは全部で4種類×左右で8キーありますので、[2の8乗-1]で255通りの配列面を個別設定することになります。左右を区別しないとしても[2の4乗-1]で15通りあります。これを分かりやすくカスタマイズ画面に表示するのはなかなか難しいです。「修飾キー押下時の配列面有効化」で想定している用途は3つあります。
- 「日本語入力モードでも修飾キーを押している間は英字配列面にしたい」というパターン
- 「左CtrlはEmacsキーバインドにしたい」というパターン
- 「Win-A に特別な機能を割り当てたい」というパターン
「Ctrl-Alt-A に特別な機能を割り当てる」というパターンも考えられましたが、複雑なカスタマイズ画面を少しでも簡単にするために、複数修飾キーの個別割り当ては外しました。
もちろん多くのユーザーが個別設定を望むのであれば、機能追加することは可能です。
うぇぶしまキーマスター「面ON0」では配列面0が有効になるだけです。配列面1の方が優先度が高いので、配列面0を有効にしたところで配列面1の機能のままになります。
([マニュアル]キーボード配列面 をご覧ください。)うぇぶしまキーマスターかえうちカスタマイズの画面上では常に0が透けて見えるようになっています。そういう仕様です。
実際には、より優先度の低い(数字の小さい)有効になっている配列面のうち、最も優先度の高い配列面のキーが出力されます。優先度の低い配列面がすべて有効であるときに限り、「一番近い(すぐ下)」配列面のキーが出力されます。他の配列面が有効なのか無効なのかによって、どの配列面のキーが出力されるかが動的に変化します。それをカスタマイズの画面上で表現することはできないので、「透過しますよ」という概念を伝えるためだけに配列面0を透過表示しています。
うぇぶしまキーマスター「微調整」の内容にもよるところではありますが、配列面(最大32)を使うことでOSごとに異なるキー配列にすることは可能です。Windows用の配列面とMac用の配列面を別々に定義して、必要に応じて切り替えることになります。
ただし かえうち は接続しているOSを認識することができないので、切り替えは手動でする必要があります。例えば[右Opt+W]を押すとWindowsモード、[右Opt+M]を押すとmacOSモード、[右Opt+I]を押すとiOSモードに切り替わるように設定して、各OSの使用開始時に該当キーを押して切り替えてから使うようにします。
うぇぶしまキーマスターDvorak配列を基本とし、Commandキーを用いるショートカットのみQUARTY配列になるように
もちろんできますよ。
うぇぶしまキーマスター添付ファイルが削除されてしまってますので、カスタマイズファイル(共有・Web公開用にチェックを入れてダウンロードしたもの)を再投稿していただけると助かります。
うぇぶしまキーマスターなるほど。ご意見ありがとうございます。
うぇぶしまキーマスターまた、かえうちのモードの日本語モードから英数モードへの切り替えが
「英数」キーのバッティングでできなかったので、「同時押しMOD0」の単独押しに「マクロA英数」を割り当てれば良いと思います。
テストしたわけではありませんが、これだと英字モードでの記号がキートップ通りに入力できないと思います。既定のキー配列の「JIS記号配置」を参考に記号を設定する必要があります。
うぇぶしまキーマスター直接書き込みではなく一旦インポートするとしても、結構大変です。
例えば「1~10」を指定すべき場所に「0」を入れてしまい、それがそのまま かえうち に書き込まれてしまうと、何が起こるか分かりません。これを書き込み前にチェックしようと思うと、JSONならJSONで書けるあらゆるパターン(データ形式・値の範囲、配列の長さの増減、連想配列のキーの存在、数値か文字列か、文字コードなど)を かえうちカスタマイズ でチェックすることになります。
現状なら基本的に「想定したデータ」しか入ってこないので、厳密なチェックをする必要はありません。私もたまにプレーンテキストで置換したりするので便利さは承知していますが、ユーザーに開放するのはなかなかリスキーなんですよね……。
うぇぶしまキーマスターご報告ありがとうございます。そのような問題には遭遇したことがないので、詳しく知りたいです。
大変お手数ではございますが、発送お知らせメールのアドレスにファイルを送っていただけますか?うぇぶしまキーマスター例えば「変換キーが押されたら日本語入力モードにしなさい」とカスタマイズしてあって、「かなキーを押したのに日本語入力にならない」のは当然ですよね。全く同じキー配列のキーボードであれば共通の設定で十分です。しかし、Mac用JISキーボードとWindows用JISキーボード、JISキーボードとUSキーボードなど、キー配列が異なる(あるキーが片方しかない、場所が異なるなど)の場合には工夫が必要になります。
- 単一の設定でどちらでも使えるような「うまいカスタマイズ」を作る
- 特定のキーを押すと、各キーボード向けの設定を切り替わるように設定する
- キーボードを取り替えるたび、カスタマイズを書き換える
- かえうちを2台使い分ける
先ほどの投稿に添付したのは「うまいカスタマイズ」タイプです。Windows用109キーボードとApple製日本語キーボードのどちらを繋いでもうまく動くはずです。
使いたいキーボードのキー配列が大きく異なる場合や、カスタマイズしたい内容が複雑な場合は、他の方法をとった方が手っ取り早いと思います。うぇぶしまキーマスターしかしApple純正キーボードを接続しても、「マクロAかな」を配置したキーの設定が無くなるので入力の変更ができないと解釈しました。
Apple製キーボードでの入力を諦めたということでしょうか?
Apple製キーボードで使う場合には、[英数]キーと[かな]キーにそれぞれ「マクロA英数」と「マクロAかな」を設置すれば、入力の切り替えが可能ですよ。例えば添付したカスタマイズファイルでは、[変換]でも[かな]でも右親指として動作するように設定してあります。[英数][かな]を単独打鍵すれば日本語入力のON/OFFが切り替えられます。
Attachments:
-
投稿者投稿