left Windows
-key를 -key로 바꾸려고 합니다 <>|
. 이는 vterm에서 매우 잘 작동하며, 키맵 파일을 사용하면 이를 수행할 수 있습니다. 그러나 X에서는 작동하지 않습니다. (KDE와 Mate에서 시도했는데 둘 다 동일한 동작을 나타냄)
xkb를 사용 하든 xmodmap
xkb 기호 구성을 사용하든 결과는 동일합니다. -key가 작동을 멈추고 -key는 여전히 키이지만 <>|
눌렀을 때 left Windows
여전히 표시됩니다 .<
xev
내 <>|
-key의 코드가 94이고 내 -key의 코드가 133이라는 것을 확인 하여 left Windows
다음을 시도했습니다.
xmodmap -e "keycode 133 = less greater bar NoSymbol U0149 brokenbar U266A NoSymbol"
xmodmap -e "keycode 94 = Super_L"
내가 시도한 xkb 기호 구성은 다음과 같으며 위와 동일한 효과를 갖습니다.
partial alphanumeric_keys
xkb_symbols "defoo" {
include "de(basic)"
name[Group1] = "German (foo)";
key <LWIN> { [ less, greater, bar, NoSymbol, U0149, brokenbar, U266A, NoSymbol ] };
key <LSGT> { [ Super_L ] };
};
무엇을 해야 할까요? 이 열쇠를 교환해야 해요.
편집 : Ubuntu 18.04를 사용하고 있습니다
편집: 또한 수정자 키를 조작해 보았습니다. xmodmap -pm
내 슈퍼 키가 mod4에 할당되어 있다고 가정해 보겠습니다.
xmodmap -e "clear mod4"
그러나 이는 아무런 효과가 없습니다. 즉, Windows 키가 이전과 동일하게 작동합니다.
답변1
나는 이것을 피하고 싶었지만 결국 키코드 파일의 키를 evdev로 교체하여 원하는 효과를 얻었습니다.
전문적인:
- 키 누름에 대한 이벤트 코드를 변경하므로 모든 레이아웃 및 애플리케이션에서 투명하게 작동합니다.
결점:
- 모든 evdev 키보드와 작동
- 변경 사항이 시스템 파일에 적용됩니다(나중에 손상될 수 있음).
차이점:
$ diff /usr/share/X11/xkb/keycodes/evdev{,.bak}
8c8
< <LWIN> = 94;
---
> <LSGT> = 94;
74c74
< <LSGT> = 133;
---
> <LWIN> = 133;