키보드 에뮬레이션

키보드 에뮬레이션

내 새 노트북(Dell인스피론 5578) 가지다숫자 키패드 없음. 전용 숫자 패드가 없는 많은 노트북은 숫자 패드에 액세스할 수 있지만 Fn이 노트북은 그렇지 않습니다. 실행 하고 전통적인 조합(예: + for )을 xev사용하려고 하면 어떤 이벤트도 표시되지 않습니다. 그리고 라벨에는 숫자조차 없습니다.FnFnJ1

AFAIU, 해당 키 가 OS에 전달되지 않았기 Fn때문에 해당 키를 사용하여 바로가기를 만들 수 없습니다 . 그러나 이론상으로는 +를 대신 Fn사용할 수 있습니다 . 문제는 이것을 올바르게 수행하는 방법입니다. 나는 모든 가상 머신(Linux가 아닌 가상 머신도 포함)에서 잘 작동하도록 키보드 레이아웃보다 낮은 수준에서 수행하는 것을 선호합니다.Alt_LSuper_L

환경:QubesOS. 호스팅 부분은 Fedora를 기반으로 합니다.

나는 시도했다:

  • Xfce 단축키를 통해 xdotool 명령을 바인딩합니다. 이로 인해 모든 종류의 이상한 결과가 발생합니다. 명령(xdotool 키 KP_1 및 변형)은 일반적으로 잘 작동하지만 바로가기를 통해 호출할 때는 작동하지 않습니다. 단축키를 통해 호출할 때 수정자 키를 눌렀을 때 문제가 발생할 수 있습니다. 다양한 수정( , 수정자 키 등)을 시도했지만 --clearmodifiers어느 것도 제대로 작동하지 않습니다.
  • 자동 키에도 동일한 작업을 수행합니다. 일부 자동 키 정지 현상이 발생하고 있습니다.

비솔루션:

  • 외부 숫자 키패드/키보드 사용: 외부 키보드에 숫자 키패드가 있는 동안(일종의) 내부 키보드에도 숫자 키패드가 있고 싶습니다. 예를 들어 여행 중이거나 외부 키보드를 사용할 수 없는 경우 가능하거나 적어도 불편합니다.
  • 숫자 행 사용: 체코어 레이아웃에서 숫자 행은 주로 악센트 문자에 사용됩니다. 내가 사용하는 레이아웃(Chack의 Extracs 변형) "숫자 행"에는 숫자가 전혀 없습니다.
  • 다른 노트북 구입: 다양한 요구 사항을 충족하는 노트북을 찾기가 어려웠습니다.

답변1

시도해 볼 수도 kbindkeys있고 numlockx약간 맞춤화된 키보드도 사용할 수 있습니다.

xbindkeys를 설치한 후 이를 실행해야 합니다. 기본 구성을 만드는 방법을 알려줍니다.

그런 다음 이를 사용하여 xbindkeys -k키를 식별하고 구성 파일을 수정합니다(이 모든 내용은 기본 구성 파일에 문서화되어 있습니다).

마지막으로, 실행 xbindkeys -v -n해 보고 모든 것이 괜찮은지 확인하는 것이 좋습니다. 그렇다면 xbindkeys세션을 실행하고 시작 스크립트에 추가할 수 있습니다.

제 경우에는 Windows 키(오른쪽)가 바인딩되어 있습니다 ~/.xbindkeysrc.

"numlockx toggle"
    m:0x10 + c:134
    Mod2 + Multi_key

이제 매핑을 추가할 수 있습니다. 레벨 5와 6(numlock 및 Shift+numlock)을 사용합니다.

/usr/share/X11/xkb/symbols/cz 상단 바로 다음:

default  partial alphanumeric_keys

다음 스니펫을 추가하세요.

xkb_symbols "with_numpad" {
    include "cz(basic)"

    key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
    key <AC07>  { [         j,          J,   apostrophe,     NoSymbol , 1, 1] };
    key <AC08>  { [         k,          K,      lstroke,     NoSymbol , 2, 2] };
    key <AC09>  { [         l,          L,      Lstroke,     NoSymbol , 3, 3] };
};

이제 창 키(오른쪽)를 누르면 xkeybind가 numlock을 설정하고 J, K, L 등이 1, 2, 3을 반환하게 됩니다.

마지막 단계, 새 키보드 설정:

 setxkbmap cz with_numpad

답변2

올바른 방법은 자신만의 키보드 레이아웃을 만드는 것이라고 생각합니다. 실제로 각 가상 머신과 각 운영 체제에 대해 이 작업을 수행해야 하지만 템플릿 가상 머신에 배포하면 됩니다.

실제로 만드는 것은 그리 어렵지 않으며, 관점에 따라 놀라울 정도로 쉬울 수도 있습니다. Linux의 경우 올바른 길을 가고 있습니다. Windows의 경우 다음을 사용하십시오.자동 단축키.

(또는 현재 레이아웃을 포기하고 시도해 보세요.새로운 2. 독일어에 최적화되어 있지만 전체적인 레이아웃이 훌륭하고 Linux에서는 기본적으로 지원되며 Windows에서는 꽤 좋은 자동 단축키 구현이 가능합니다. 나는 수년 동안 그것을 사용해 왔습니다. 가장 큰 단점은 레이아웃이 너무 이상해서 다시 사용할 수 있도록 프로그램에서 바로가기를 사용자 정의해야 하는 경우가 많다는 것입니다. 예를 들어 vim의 hjkl이 완전히 엉망입니다. )

관련 정보