공통 발음 구별 부호를 입력하기 위한 단축키를 설정하려고 합니다. xdotool이 터미널이나 icewm 명령 모음(또는 심지어 gmrun)에서 발음 구별 부호를 입력하도록 할 수 있습니다.
xdotool key Aacute
그러나 다음 키 매핑(icewm 키 파일)은 작동하지 않습니다.
key "Ctrl+Alt+a" xdotool key Aacute
key "Ctrl+Alt+a" xdotool --delay 1000 key Aacute
대신 단축키를 입력할 때(터미널이나 텍스트 편집기에서) 커서가 한 번만 깜박이는 것을 볼 수 있지만 그 외에는 아무 일도 일어나지 않습니다. 다음은 팝업을 표시하므로 키 코드 자체는 정확합니다.
key "Ctrl+Alt+a" zenity --info --text="shortcut works"
키 바인딩을 등록하여 활성 응용 프로그램에 발음 구별 부호가 실제로 입력되도록 하는 방법이 있는 사람이 있습니까?
답변1
setxkbmap
or 을 사용하는 xmodmap
것이 옳은 것 같지만 FWIW 및 FTR 이 질문을 접한 후 다음이 나에게 효과적이라는 것을 알았습니다. 를 사용하려는 다른 사람들에게 도움이 되기를 바랍니다 xdotool
.
내 키보드에는 이 키가 없기 때문에 xdotool에서 이 키를 에뮬레이트합니다. &
IceWM이 단축키 처리에서 복귀하고 xdotool을 방해하지 않도록 백그라운드에서 명령을 실행하려면 를 사용하십시오 .
200ms는 제가 사용할 수 있는 가장 짧은 지연 시간이며 여전히 안정적으로 작동합니다. --clearmodifiers
귀하의 사용 사례에 적합한지 여부가 확실하지 않습니다 .
key "Ctrl+Up" xdotool sleep 0.2 key --clearmodifiers Page_Up &
key "Ctrl+Down" xdotool sleep 0.2 key --clearmodifiers Page_Down &
key "Ctrl+Shift+Up" xdotool sleep 0.2 key --clearmodifiers Home &
key "Ctrl+Shift+Down" xdotool sleep 0.2 key --clearmodifiers End &
또한 이 키를 누르고 있으면 예상되는 반복 동작이 발생하지 않지만(IceWM 단축키가 최선의 선택이 아니기 때문에) 제 목적에는 괜찮습니다.
답변2
원래 솔루션이 작동하지 않아서 대신 키보드 매핑을 변경했습니다. 기본 미국 키보드 매핑에는 필요한 분음 부호가 없지만 국제 버전에는 있습니다. 사용해 보려면 다음 단계를 따르세요.
setxkbmap -layout 'us(intl)'
그러나 국제 버전에서는 기본적으로 특정 키에 대해 작성을 사용합니다. 예를 들어 ' 문자는 더 이상 즉시 응답하지 않습니다. 그래서 대신 미국 키보드를 기반으로 나만의 키보드 매핑을 만들기로 결정했습니다.
새 파일을 만들었습니다./usr/share/X11/xkb/symbols/erik
partial default alphanumeric_keys
xkb_symbols "basic" {
include "us"
include "eurosign(5)"
key <AC01> { [ a, A, aacute, Aacute ] };
key <AD03> { [ e, E, eacute, Eacute ] };
key <AD08> { [ i, I, iacute, Iacute ] };
key <AD09> { [ o, O, oacute, Oacute ] };
key <AD07> { [ u, U, uacute, Uacute ] };
key <RALT> { type[Group1]="TWO_LEVEL", [ ISO_Level3_Shift, Multi_key ] };
modifier_map Mod5 { <RALT> };
};
xkb가 변경 사항을 선택하도록 하려면:
sudo dpkg-reconfigure xkb-data
키보드 매핑을 시도하려면 다음을 수행하십시오.
setxkbmap -layout erik
이제 alt_gr + [aeiou]는 [áéíóú]를 입력해야 합니다.
icewm 시작 파일을 사용하여 시작 시 위 명령을 호출하여 변경 사항을 영구적으로 적용했습니다. 배포판 키보드 전환기를 사용하여 레이아웃을 선택하는 것이 가능해야 한다고 생각하지만 이를 테스트하지는 않았습니다. 내 이름을 따서 키보드 매핑의 이름을 지정하는 엄청난 영광을 원하지 않는 한 파일 이름을 다른 것으로 자유롭게 지정하십시오. 모든 기본 국가 매핑에는 그렇게 이름이 지정되므로 2자리 코드는 피하십시오.
참고 사항:
기호 디렉터리의 다른 매핑 파일에서 예를 확인할 수 있습니다.
파일 형식을 이해하기 위한 일부 리소스는 여기에서 찾을 수 있습니다.
https://www.x.org/wiki/XKB/