LSGT
성공하지 못한 채 (유럽 키보드의 키)를 "Left Control"에 매핑 하려고 했습니다 xkb
(X 및 ubuntu 18에서).
나는 다음을 시도했다:
- 이
LSGT
줄을 다음으로 바꾸십시오.
key <LSGT> { [Control_L] };
modifier_keys
그리고 내가 사용하고 있는 레이아웃 본문의 블록 앞에 태그를 추가합니다 /usr/share/xkb/symbols/fr
(이것이 내가 사용하고 있는 레이아웃이므로 bepo 섹션에 있음).
partial modifier_keys alphanumeric_keys
xkb_symbols "lsgt_lctrl" {
key <LSGT> { [Control_L] };
};
(레이블이 키 맵을 가리키는지 실제 키를 가리키는지 확실하지 않기 때문에 영숫자 레이블이 여기에 있습니다. 영숫자 키인 것 같아요 LSGT
. 그것도 제거해 보았습니다.)
.../xkb/rules/evdev
다음 줄! option = symbols
ctrl:lsgt_lctrl = +ctrl(lsgt_lctrl)
! option
evdev.lst의 다음 줄
ctrl:lsgt_lctrl Use LSGT as left control
옵션 에 추가한 dconf
편집기 를 사용하세요['ctrl:lsgt_lctrl']
xkb
그런 다음 재부팅했는데 작동하지 않았기 때문에 그 안에 있는 모든 항목 /var/lib/xkb
(파일 하나만 README.compiled
)을 삭제하고 다시 재부팅해 보았지만 여전히 작동하지 않았습니다.
이전 Linux 설치에서 비슷한 프로그램을 사용한 기억이 나서 혼란스럽습니다.
내 게시물을 읽어주셔서 감사합니다. 이런 포럼에서 질문을 하는 것은 이번이 처음이고 저는 Linux를 처음 접하는 사람이므로 이 작업을 잘못하고 있거나 짜증나는 경우 알려 주시기 바랍니다.
답변1
replace
첫 번째 코드에 키워드를 추가하여 문제를 해결했습니다 . 지금 내가 읽고 있는 것은
partial modifier_keys alphanumeric_keys
xkb_symbols "lsgt_lctrl" {
replace key <LSGT> { [Control_L] };
};
내 생각엔 (?) LSGT
의 다른 곳에 또 다른 상충되는 정의가 있는 것 같아요.xkb
참고: 저는 처음으로 등록하지 않았기 때문에 이것이 제가 제 질문에 대답하고 있다는 것을 제대로 표시할 수 있는지, 아니면 답변이 실제로 작동하는지 알 수 없습니다.
답변2
/usr/share/X11/xkb/keycodes/evdev의 다음 변경 사항으로 비슷한 문제를 해결했습니다.
# <LSGT> = 94;
# <RCTL> = 105;
<RCTL> = 94;
그 후 "\&|*"(LSGT라고 함)가 제 경우에는 오른쪽 컨트롤의 위치를 차지하여 오른쪽 컨트롤 역할을 합니다. 단점은 외부 키보드에서는 이 변경 후에는 마우스 오른쪽 버튼 클릭 컨트롤이 더 이상 작동하지 않는다는 것입니다.
따라서 LSGT를 LCTL로 작동시키려면 다음을 시도하십시오.
# <LSGT> = 94;
# <LCTL> = 37;
<LCTL> = 94;
답변3
실행하면 setkbdmap -print > somefile.xkb
다음과 같이 확장된 매크로/지시문이 포함된 XKB 구성이 인쇄됩니다.이 스레드.
확장되지 않은 출력과 비교하면 setkbdmap -print
구성 문제가 더 명확해질 수 있습니다 . 그렇게 하면 키 코드가 순서대로 나열된 파일도 제공됩니다.
구성을 살펴본 후 내 XKB 매크로/지시문이 순차적으로 확장되지 않아 io(swapcaps)
my 및 행이 포함된 후 다음 행이 평가된다는 사실을 발견했습니다.ìo(intl)
key <LVL3> {
type= "ONE_LEVEL",
symbols[Group1]= [ ISO_Level3_Shift ]
};
key <LSGT> {
type= "FOUR_LEVEL",
symbols[Group1]= [ backslash, bar, backslash, bar ]
};
또한 키보드 구성(KDE 시스템 설정 모듈)으로 이동하면 레이아웃 아래에서 레이아웃 미리보기를 생성할 수 있습니다. 이 경우 xkbcomp /usr/share/X11/xkb/symbols/io $DISPLAY
레이아웃을 사용하거나 구문 분석하는 것보다 미리보기가 더 나은 출력을 생성 합니다 setxkbmap -config ~/.config/me/xkb/io -print -verbose 10
. 미리보기를 생성하면 이를 매핑/교체하는 키에 "< >" 기호가 표시됩니다.
아래 스크립트를 매핑 key <ESC> {[ LSGT ]}
하거나 사용한 다음 추가 모드키를 얻기 위해 신청하려고 합니다. 또는 적어도 LaTeX/Julia에 대한 확장된 기호 범위를 얻으려고 합니다...replace key
level5(lsgt_switch)
hidden partial
xkb_symbols "swapcaps" {
key <ESC> {[ LSGT ]};
key <CAPS> {[ Escape ]};
};
xkb_symbols "intl" {
include "us(intl)"
include "io(swapcaps)"
include "level5(lsgt_switch)"
name[Group1] = "Digimon - US (With Dead Keys)";
key <SPCE> {[ space, underscore, nobreakspace, nobreakspace ]};
//key <TLDE> {[dead_grave, dead_tilde, grave, asciitilde ] };
key <AE01> {[ exclam, 1, exclamdown, onesuperior ] };
key <AE02> {[ at, 2, twosuperior, dead_doubleacute ] };
key <AE03> {[ numbersign, 3, threesuperior, dead_macron ] };
key <AE04> {[ dollar, 4, currency, sterling ] };
//// ...
};
pc104 및 pc105 키코드에 대한 참고 사항:
- pc104 키보드에서 유일하게 누락된 키코드는
93
바로 뒤에 있는 입니다key <LSGT> = 94
. 여전히 문제가 있습니다. 그러나 이 키가 거기에 정의되어 있다는 것이 이상합니다.pc104
와 사이의 유일한 차이점은pc105
추가된LSGT
키이기 때문입니다. $XKB/symbols/pc
실제 pc105 정의를 찾을 수 없는 것 같습니다. 기호 에만 존재하는 것 같습니다 .