단일 사용자 모드의 고정 키

단일 사용자 모드의 고정 키

단일 사용자 모드에서 고정 키를 활성화하는 방법을 찾으려고 노력했지만 찾을 수 있는 유일한 방법은 데스크톱 창 환경에 있습니다.

로드해야 할 모듈이나 항목이 있습니까?

한 손으로만 입력할 수 있는지 묻는 분들을 위해 때로는 단일 사용자 모드에서 작업해야 합니다.

답변1

확인 해봐어떻게. 키 기호를 이해하는 것은 콘솔 키맵에 넣을 수 있는 끈적한 것과 loadkeys같다고 합니다 .SShift, SCtrl, SAlt

이것아치리눅스 페이지무엇을 해야할지 보여주세요. 기본적으로 Shift와 같은 키를 고정된 해당 키로 덮어쓰는 키맵 파일을 만듭니다. 다음은 필요한 키코드 세트를 제공할 수 있습니다.

dumpkeys |
awk 'NR==1{print}
     $4~"Shift|Control|Alt"{printf "%s %s %s S%s\n",$1,$2,$3,$4}'

출력 예:

keymaps 0-255
keycode 29 = SControl
keycode 42 = SShift
keycode 54 = SShift
keycode 56 = SAlt
keycode 97 = SControl
keycode 100 = SAlt
keycode 125 = SAlt
keycode 126 = SAlt

이 데이터를 파일에 넣고 stickyKeys로드하세요.

sudo loadkeys stickyKeys

Archlinux 페이지는 부팅 시 로드할 적절한 시스템 장치를 제공합니다. 문제가 발생하면 showkey입력할 때 각 키 입력의 코드를 표시할 수 있습니다.


이것을 시도하지는 않았지만 커널을 빌드하면 기본 키맵이 컴파일됩니다. 이 키맵을 원하는 키맵으로 바꿀 수 있습니다. 우리가 보면드라이버/tty/vt/Makefile, 우리는 규칙을 봅니다defkeymap.o

$(obj)/defkeymap.o:  $(obj)/defkeymap.c

하지만 디렉토리에 파일이 없습니다 defkeymap.c. 그러나 파일이 있는 defkeymap.c_shipped것 같습니다.BuildKBuild_shipped내장된 접미사는 제거됩니다 . Makefile의 뒷부분에는 주석과 선택적 규칙이 있습니다.

# Uncomment if you're changing the keymap and have an appropriate
# loadkeys version for the map. By default, we'll use the shipped
# versions.
# GENERATE_KEYMAP := 1
ifdef GENERATE_KEYMAP
$(obj)/defkeymap.c: $(obj)/%.c: $(src)/%.map
        loadkeys --mktable $< > $@
endif

따라서 다음을 실행하여 defkeymap.c현재 키맵에서 자체 파일을 생성하는 방법을 볼 수 있습니다.

dumpkeys | loadkeys --mktable >defkeymap.c

포함된 파일을 제거하고 커널을 빌드해 보세요. 를 사용하면 dumpkeys기본값보다 훨씬 더 큰 테이블이 제공되지만 이유는 모르겠습니다. 압축되지 않았거나 유사한 것과 같은 현재 키맵의 소스를 찾아서 /usr/lib/kbd/keymaps/xkb/gb-intl.map.gz고정 변경 사항으로 편집한 다음 이 파일을 loadkeys --mktable.

일단 부팅되면, 이 내장 키맵은 운영 체제가 일부 표준 구성 키맵을 설정하기 위해 사용하는 메커니즘에 따라 조기에 무시될 수 있습니다.

관련 정보