変換+IJKLでアローキーと修飾キーも動かしたい。

かえうち フォーラム 【初心者歓迎】なんでも質問コーナー 変換+IJKLでアローキーと修飾キーも動かしたい。

  • このトピックには6件の返信、2人の参加者があり、最後に9jo6roにより6年、 8ヶ月前に更新されました。
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #1356
    9jo6ro
    参加者

    変換とIJKLで上下左右のアローキー(面2)に設定しています。
    その時、CtrlやWinキーなど任意の複数修飾キーと組み合わせて使いたいのですが(Ctrl+Wim+変換+L=Ctrl+Win+右矢印とか)、上手くいきません。
    修飾キーを押すと面0の配列が優先されてしまいます。

    変換キーをマクロかな(変換、かな、”面3″ON)にして、同時押しMOD1(面2、チェック、マクロかな、出力しない、チェックなし)に設定しています。
    IJKLのアローキーは面2です。
    修飾キーはどの面でも同時キーや同時押しMOD、ユーザーMODには設定していません。

    これは仕様の問題かなと思いますが、何か方法はありますか。
    できれば、面1面2の割り当てキー+同時押しMOD(面3)を任意の複数修飾キーと組み合わせて使いたいです。

    #1361
    うぇぶしま
    キーマスター

    CtrlやWinキーなど任意の複数修飾キーと組み合わせて使いたいのですが(Ctrl+Wim+変換+L=Ctrl+Win+右矢印とか)、上手くいきません。

    修飾キーとの組み合わせでも動作するように設定できます。(手元カーソルは便利なので私も使っています)

    カスタマイズファイルをアップロードする場合は、内部プログラムを「なし」でダウンロードしてください。内部プログラムを含まなければアップロードエラーになりません。
    ファイル名のバージョン表記が「ver.—」になっていれば内部プログラムを含みません。

    #1375
    9jo6ro
    参加者

    おおぉ良かったです。
    エラーになっていたとは気づきませんでした、すみません。

    #1377
    うぇぶしま
    キーマスター

    カスタマイズファイルをそのまま書き込んでみましたが、修飾キーとの組み合わせも問題なく動作しましたよ。(Shift+変換+L → Shift+右矢印 など)

    考えられることとしては、使っているキーボードの制約によって4キー同時押し(CapsLock+LAlt+変換+L)が認識されていない可能性があります。
    一般的なUSBキーボードでは2~3キー程度の同時押しのみが保証されていて、4キー以上の同時押しは組み合わせによって正しく認識されない場合があります。通常の修飾キー(Shift, Ctrl, Alt, Win)は別扱いになっている場合が多いので問題になりませんが、この配列での Ctrl(CapsLock)+LWin(LAlt)+変換+L の場合、CapsLock, 変換, L はいずれも元は通常キーです。この同時押しがUSBに正しく出力されていないのかもしれません。
    他のキー位置を試す、(持っていれば)他のキーボードを試すなどで問題を切り分けると良いかと思います。

    質問とは関係ありませんが、マクロA英数/かな がどちらも「配列面3 ON」を割り当てていてOFFが無いのは意図的なのでしょうか? 配列面3を常用するなら、これを配列面0に持ってきた方が良いような気がします。(それに伴って色々変更が必要ですが。)

    #1380
    9jo6ro
    参加者

    申し訳ありません。上記の件うまく動きました。
    おそらく修飾キー押すタイミングや順番を勘違いしていたです。

    LShift + 変換 + Lで LShift + 右矢印を出す場合・・・
    かなうちでは、LShift down, 変換 down, L down,の順に入力すると動きます。
    変換 down, LShift down, L down,の順に入力しますと修飾キーが入力されません。

    ところが手元のNyquist keyboard(qmk firmware)では、変換 down, LShift down, L down,でも入力できてしまうのです。LShift down, 変換 down, L down,の順に入力しても、入力されます。

    修飾キーをほぼ先に入力しない癖を自覚していなかったので、あれっおかしいなと錯覚していたようです。
    そもそも修飾キーは先に入力するものでした。
    一応、参考に情報載せておきます。https://docs.qmk.fm/config_options.html の#define PREVENT_STUCK_MODIFIERS です。

    >>マクロA英数/かな がどちらも「配列面3 ON」を割り当てていてOFFが無い
    これは「修飾キーを押している間 有効になる配列面 = 全て3」に設定したら修飾キーがうまく動くのでは?と試行錯誤した後です。当初は 面3 OFFでした。

    >>配列面3を常用するなら、これを配列面0に持ってきた方が良いような気がします。
    初期に参照される面は0なので確かにそうですね。

    #1381
    うぇぶしま
    キーマスター

    ところが手元のNyquist keyboard(qmk firmware)では、変換 down, LShift down, L down,でも入力できてしまうのです。LShift down, 変換 down, L down,の順に入力しても、入力されます。

    まず注意していただきたいのは、設定されているのが同時押しシフトだということです。同時押しのロジックによって、操作順序やタイミングをどう判定するかは異なります。

    変換 down, LShift down, L down,の順に入力しますと修飾キーが入力されません。

    かえうち での同時押しでは、[同時押しMOD]と[同時キー]の組み合わせが同時であるかを判定しています。
    間に[同時押しMOD]と[同時キー]のどちらでもないキーが押される(key down)と、その瞬間に直前の[同時押しMOD]と[同時キー]が実際には離されていなくても、離したとして処理します。これによって単独押しの処理順序が意図と異なることを防いでいます。
    この処理は連続シフトのON/OFFによりませんし、修飾キーであっても同様に扱われます。

    変換 down(何も出力しない)
    → LShift down(変換がupされたとみなして[マクロAかな]出力、LShift down)
    → L down(何も出力しない)
    → L up または 一定時間経過(同時キーの単独押しなので L down、L up)
    という順で処理され、結果 LShift+L となるので大文字の「L」が入力されます。

    実現したい操作にもよりますが、同時押しMODではなくユーザーMODの通常シフトを使えば、変換 downとLShift downのどちらが先でも Shift+右矢印 になりますよ。私はそちらを使っています。(既定のキー配列「うぇぶしま飛鳥」の ユーザーMOD1 と 配列面12 で定義されています。)

    #1383
    9jo6ro
    参加者

    >>[同時押しMOD]と[同時キー]のどちらでもないキーが押される(key down)と、その瞬間に直前の[同時押しMOD]と[同時キー]が実際には離されていなくても、離したとして処理します。
    >>同時押しMODではなくユーザーMODの通常シフトを使えば、変換 downとLShift downのどちらが先でも Shift+右矢印 になりますよ。私はそちらを使っています。(既定のキー配列「うぇぶしま飛鳥」の ユーザーMOD1 と 配列面12 で定義されています。)
    丁寧な説明ありがとうございます。当初の案を実現できました。
    うぇぶしま飛鳥配列はすごいですね、弄るごとに「この機能はこう使うのか」と勉強させられます。

7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • このトピックに返信するにはログインが必要です。