오픈박스에 "Fn" + "Control" 키에 대한 키 바인딩 추가

오픈박스에 "Fn" + "Control" 키에 대한 키 바인딩 추가

Fn+를 키 조합으로 사용해야 하는데 CTRLopenbox에서는 작동하지 않습니다(XFCE/KDE4`에서는 작동합니다).

<keybind key="Fn-C">
  <action name="ToggleMaximize">
      </action>
</keybind>

작업 이름은 정확합니다. 예를 들어 다른 키 조합과 함께 사용할 수 있습니다 W-3.

그럼 어떤 생각이 드나요?

답변1

다양한 창 관리자는 다양한 키맵을 사용할 수 있으며 키맵은 Fn키 입력이 인식되는 방법을 정의합니다. 이것이 XFCE에서 작동하는 것이 반드시 Openbox에서 작동하지 않을 수도 있는 이유입니다.

X(및 Openbox)가 키를 해석하는 방법을 확인하려면 Fn다음을 따르세요.이 가이드.

결과에 따라 적절한 키 기호를 rc.xml대신 사용할 수 있습니다 Fn.
Fn예를 들어 Thinkpad에서 인식되는 경우입니다 XF86WakeUp. 기호가 할당되지 않은 경우 아래와 같이 xmodmap을 사용하여 수동으로 기호를 할당할 수 있습니다.이 가이드그런 다음 에서 해당 기호를 사용하십시오 rc.xml.

추가 조사에 따르면 Fn은 일부 노트북(예: IBM/Lenovo Thinkpads)에서 특수 키인 것으로 나타났습니다. 그 이유는 KeypressKeyrelease이벤트(또는 Microsoft 용어 KeydownKeyup)가 키를 놓을 때만 동시에 생성되기 때문입니다. 누른 동안 더 이상 키를 누르면 Fn기록되지 않습니다*. 그리고시프, 시스템에서도 이런 일이 발생하는지 쉽게 확인할 수 있습니다.

Fn이는 수정자 키로 사용할 수 없음 을 의미합니다 ( Alt, 또는 등과 Ctrl같은 다른 키와 조합 Shift). 단, 개별적으로 바로가기로 지정할 수는 있습니다. 결합하다오픈박스 열쇠고리, 이는 수정자로 사용하는 것만큼 좋습니다. 결합된 키를 누르기 전에 손을 떼면 됩니다.

* 있어야 한다일부FnFnLenovo의 자체 Windows 도구는 다른 키 누르기에 반응 하기 때문에 적어도 이것이 Thinkpad에 키가 등록되는 방식입니다 . 그러나 이것은 매우 낮은 수준에서 일어나는 것 같습니다. Windows 호스트의 VMWare 게스트에 있을 때 Fn더하기 키를 누르면 게스트 OS가 아닌 Windows 호스트에서 해당 도구가 열립니다. Linux에서 Thinkpad와 같은 도구의 구현을 연구하고 이를 처리하는 방법을 확인하십시오 Fn.

여기Fn+ Fx키 조합이 ACPI 이벤트를 생성하는 방식(Thinkpad 도구가 반응하는 방식) 에 대한 자세한 Thinkpad 관련 정보를 찾을 수 있습니다 . 그러나 이러한 이벤트는 특정 키 조합에 대해서만 생성되고 다른 키 조합에 대해서는 생성되지 않는 것 같습니다 Fx.

이 페이지에서는 ACPI 이벤트가 키 이벤트를 트리거하도록 만드는 방법도 설명합니다. 그러나 keydown과 keyup이 별도의 이벤트를 생성하지 않으면 더 이상 도움이 되지 않습니다 Fn(Thinkpad에서는 발생하지 않는다고 생각합니다).

답변2

Fluxbox/openbox와 같은 미니멀리스트 창 관리자에서 벗어난 지 꽤 시간이 지났지만 다음은 제가 기억하는 몇 가지 팁입니다.

  1. 실제로 다음을 사용하여 특정 키 입력 조합에 대한 키코드를 볼 수 있습니다.시프(1)

  2. 당신이 사용할 수있는xmodmap(1) 특정 키 코드를 X 이벤트에 바인딩합니다.

xev 및 xmodmap 맨페이지를 확인하세요 ;)

관련 정보