오른쪽 Command 키로 영수·카나를 토글하고 싶었다

HHKB의 US 배열을 구입했기 때문에 Karabiner-Elements에서 오른쪽 Command 키의 기능을 영수·가나 토글로 하려고 조사한 결과, 이하의 설정을 발견.

For Japanese (일본어 환경용 설정) (rev 5)

이 중의 "커맨드 키(오른쪽만)를 단독으로 눌렀을 때에, 영수·가나를 토글로 전환한다. (rev 2)"로 토글할 수 있는 것을 확인.

문제



단, 이 설정에서는 다음과 같은 문제가 있었다.
  • "단일로 눌렀을 때"라는 조건이있다
  • 키 업 타이밍에 영수와 가나를 토글한다
  • 키 콤비네이션시에 오른쪽 Command 키가 부활한다

  • 이러한 제약 때문에, 푸시 방법에 따라서 토글하지 않거나, 반각 스페이스를 치려고 했을 때에 Alfred가 기동해 버리고 있었다.

    해결



    Karabiner-Elements의 설정 항목을 정리했습니다. 에 설정 방법이 있었다.
    이것을 참고로 하면서 전술의 설정을 이하와 같이 어레인지.

    right_command_eisuu_kana_toggle.json
    {
      "title": "右コマンドキーで英数・かなをトグル",
      "rules": [
        {
          "description": "右コマンドキーを押したときに、英数・かなをトグルで切り替える。",
          "manipulators": [
            {
              "type": "basic",
              "conditions": [
                {
                  "input_sources": [
                    {
                      "language": "ja"
                    }
                  ],
                  "type": "input_source_if"
                }
              ],
              "from": {
                "key_code": "right_command",
                "modifiers": {
                  "optional": [
                    "any"
                  ]
                }
              },
              "to": [
                {
                  "key_code": "japanese_eisuu"
                }
              ]
            },
            {
              "type": "basic",
              "conditions": [
                {
                  "input_sources": [
                    {
                      "language": "en"
                    }
                  ],
                  "type": "input_source_if"
                }
              ],
              "from": {
                "key_code": "right_command",
                "modifiers": {
                  "optional": [
                    "any"
                  ]
                }
              },
              "to": [
                {
                  "key_code": "japanese_kana"
                }
              ]
            }
          ]
        }
      ]
    }
    

    변경점



    parameters, to_if_held_down, to_if_alone은 필요하지 않으므로 삭제



    to_if_held_down 는 parameters 의 basic.to_if_held_down_threshold_milliseconds 로 지정된 밀리 세컨드 후에 발화하는 키의 지정.
    여기는 right_command로 지정된다.
    to_if_held_down 의 기능은 이용하지 않기 때문에, 이번은 어느쪽의 지정도 불필요.

    to_if_alone (은)는 키를 단독으로 눌렀을 경우에 발화하는 키의 지정. 이번은 단체·콤비네이션 관계 없게 토글시키고 싶기 때문에 불필요.

    to에 원래 지정하고 싶은 키를 설정


    right_command 로 지정되어 있으므로, 각각 japanese_eisuu japanese_kana 를 지정.

    변경하지 않은 점



    modifiers



    modifiers 를 취하면, 콤비네이션 키와 조합했을 때에 오른쪽 Command 키가 부활해 버린다.

    해결한 것 같지 않은 것



    키업이 아닌 키다운으로 토글되게 되어 토글 누설이 일어나는 횟수가 줄어들어 대체로 예상대로 움직이게 되었다. (Alfred도 얼굴을 내고 오지 않았다.)

    그러나 콤비네이션 키와 조합하면 잘 토글하지 않는 것을 확인.
    혹시 콤비네이션 키를 누르고 있으면 컨디션을 잘 판단해 주지 않는다?



    오른쪽 Alt+오른쪽 Command 동시에 두 번, 오른쪽 Alt를 누른 상태에서 오른쪽 Command를 여러 번, 오른쪽 Command만을 여러 번 누른 경우의 결과입니다.

    좋은 웹페이지 즐겨찾기