Openbox에서 단일 수정자 키를 바로 가기 키로 설정하는 방법은 무엇입니까?

Openbox에서 단일 수정자 키를 바로 가기 키로 설정하는 방법은 무엇입니까?

슈퍼 키를 작동시키고 싶습니다 dmenu. 저는 다음과 같은 단축키로 설정했습니다 rc.xml.

<keybind key="0xffeb">
      <action name="Execute">
        <command>dmenu_run</command>
      </action>
</keybind>

key속성에서 W, W-및 으로 지정해 보았지만 0xffeb그 중 아무 것도 작동하지 않습니다.
W문자를 누르면 반응 w하지만 다른 사람들은 아무 것도 하지 않는 것 같습니다.

슈퍼 키를 눌렀다 놓을 때 바로가기가 실행되도록 하고 싶습니다. 가능합니까?


이것은교차 게시슈퍼유저가 팔로우함여기를 안내하세요. 나는 이 질문을 읽었습니다.단축키로 사용되는 슈퍼 키 - Openbox, 그러나 유용한 정보가 표시되지 않습니다.

답변1

나는 결국 사용했다X 각도, 이 작업을 수행하도록 특별히 설계된 유틸리티입니다.

xcape를 사용하면 수정자 키를 눌렀다가 놓을 때 다른 키로 사용할 수 있습니다. 키를 놓을 때까지 누른 이벤트가 발생하지 않기 때문에 원래 키를 누르는 것보다 약간 느립니다.

에서 인용Xcape 읽어보기

xcape를 사용하면 프레스를 할당할 수 있습니다그리고 출시수정자 키를 다른 키나 키 범위로 변경합니다. 예를 들어 다음과 Linux key Super같이 자리표시자 바로가기에 할당할 수 있습니다 ⎈ Ctrl⇧ Shift⎇ AltLinux key SuperD.

xcape -e 'Super_L=Control_L|Shift_L|Alt_L|Super_L|D'

Linux key Super이제 다른 키를 누르지 않고 누르고 놓으면 xcape는 누르기를 시뮬레이션하는 키보드 이벤트를 보냅니다 ⎈ Ctrl⇧ Shift⎇ AltLinux key SuperD(단축키를 누르는 것처럼 모든 수정자 키를 누른 것처럼 유지).

당신이 누르면Linux key Super 그리고다른 키를 누르거나 너무 오랫동안 누르고 있으면 Linux key Super기본 시간 제한은 500밀리초입니다. xcape는 추가 키를 트리거하지 않고 키보드 이벤트를 있는 그대로 전달합니다.

자리표시자 바로가기를 넣으면 rc.xml누를 때만 실행됩니다.Linux key SuperLinux key Super

<keybind key="C-A-S-W-d">
      <action name="Execute">
          <command>dmenu_run</command>
      </action>
</keybind>

관련된 다른 바로가기 키는 Linux key Super영향을 받지 않습니다.

~/.config/openbox/autostartxcape는 시작할 때마다 실행되어야 하므로 자동으로 실행되는 곳에 두는 것이 좋습니다 .

답변2

xev적절한 키 이름을 얻으려면 슈퍼 키를 실행 하고 누르십시오. 광산은 Super_L출력을 기반으로 합니다.

KeyRelease event, serial 48, synthetic NO, window 0x3600001,
    root 0x91, subw 0x0, time 1648471775, (167,-8), root:(927,138),
    state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

귀하의 키가 동일하다고 가정하면 Super 키(Windows 키라고도 함)를 누르면 작동합니다.

<keybind key="Super_L">
      <action name="Execute">
        <command>dmenu_run</command>
      </action>
</keybind>

파일을 저장하고 실행하여 killall -SIGUSR2 openbox구성을 다시 로드합니다.

그런데 저는 로컬 사용자를 위한 구성 파일을 작업 중입니다 $HOME/.config/openbox/lxde-rc.xml. 조합하여 사용시 W레지스터만 슈퍼키로 사용되나, Super_L문자로 읽히지 않고 개별적으로 사용이 가능합니다 w.

관련 정보