Прочтите это руководство . В нем говорится, что loadkeys
понимает такие ключевые слова, как SShift, SCtrl, SAlt
, как липкие эквиваленты, которые вы можете вставить в раскладку клавиш консоли.
Эта страница Archlinux показывает вам, что делать. По сути, создайте небольшой файл раскладки клавиатуры, переопределив клавиши для сдвига и т. Д. На липкий эквивалент. Следующее может предоставить вам необходимый набор кодов клавиш:
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 вы найдете подходящий модуль systemd для загрузите это при загрузке.В случае возникновения проблем вы можете использовать showkey
, чтобы показывать вам каждый ключевой код при вводе клавиш.
Я этого не пробовал, но при сборке ядра компилируется раскладка по умолчанию. Вы можете заменить эту раскладку желаемой. Если мы посмотрим на drivers / tty / vt / Makefile , мы увидим правило для defkeymap.o
$(obj)/defkeymap.o: $(obj)/defkeymap.c
, но в каталоге нет defkeymap.c
. Однако существует файл defkeymap.c_shipped
, и кажется, что KBuild удалит суффикс _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
.
Обратите внимание, что после загрузки эта встроенная раскладка клавиатуры, вероятно, будет на раннем этапе переопределена любым механизмом, который ваша ОС использует для установки некоторой стандартной настроенной раскладки клавиатуры.
Человек B сможет зашифровать с помощью вашего открытого ключа; тогда вы (и только вы) сможете расшифровать зашифрованное сообщение, используя свой закрытый ключ.
Во второй команде секретный ключ действительно является личным ключом. Вы никогда не должны никому этого давать.