` setxkbmap `не изменяет карту модификаторов

Обычно я пишу grub.cfgвручную и никогда не использую update-grub, и у меня есть так называемый главный загрузчик Grub2, где я выбираю, откуда загружаться, затем я позволяю каждому дистрибутиву Linux устанавливать свой собственный загрузчик на свой собственный корневой раздел, поэтому Linux может редактировать свой собственный загрузчик, не касаясь моего основного загрузчика grub2.

А для перехода на MBR другого диска у меня есть такие записи на grub.cfgдля нормальной ОС, которой не нужно видеть диск, как если бы он был первым диском:

menuentry "Boot from second disk" {
   chainloader (hd1)+1
}
menuentry "Boot from third disk" {
   chainloader (hd2)+1
}
menuentry "Boot from fourth disk" {
   chainloader (hd3)+1
}

Таким образом, он просто загружает MBR на другой диск, который мне нужен.

Но для некоторых хитрых Linux (, а также некоторых Windows ), которые хотят видеть другой диск, как если бы он был там, где первый, я также добавляю несколько порядков в пункты меню grub, поэтому это выглядит так:

menuentry "Boot from second disk and see it as first disk" {
   set root=(hd1)
   drivemap -s hd0 hd1
   chainloader +1
}
menuentry "Boot from third disk and see it as first disk" {
   set root=(hd2)
   drivemap -s hd0 hd2
   chainloader +1
}
menuentry "Boot from fourth disk and see it as first disk" {
   set root=(hd3)
   drivemap -s hd0 hd3
   chainloader +1
}

Все подробно описано:

  • (hd #)представляет диск,где #начинается с нуля

  • карта дисков выполняет замену дисков, так что любой диск можно рассматривать как первый диск или любой другой номер, который вы хотите (он меняет порядок видимых двух дисков)

  • chainloader (hd #)+1 переход к MBR диска

  • chainloader +1 переходит к первому сектору того, что хранится в (корневом каталоге)

  • set root=... устанавливает, какой (root )есть.

  • (корень )похож на переменную, может использоваться для ввода меньшего количества символов

Полную документацию по файлу grub.cfgможно найти на официальной веб-странице :

.

https://www.gnu.org/software/grub/manual/grub/grub.html

0
28.06.2020, 16:22
1 ответ

Карта модификаторов не меняется, потому что менять нечего;)

Произошло следующее: xkbприписал символ клавиши Control _L к коду клавиши 66, где был символ клавиши CapsLock .

Символ клавиши CapsLock по-прежнему является модификатором Caps Lock, даже если на него больше не влияет какой-либо код клавиши.

Control _L keysym уже был в Modmap, его не нужно добавлять.

На самом деле вы можете добавить еще одну опцию :shift:both_capslock, которая будет активировать/деактивировать CapsLock при нажатии обеих клавиш Shift. И поскольку CapsLock не был удален из Modmap, он все равно будет работать.

Итак, для чего нужна эта карта модов? Есть и другие модификаторы, о которых стоит подумать:

ISO _Уровень 5 _сдвиг для полиглотов, символов Юникода, расширяющих вашу клавиатуру клавишами «ВОСЬМОЙ _УРОВЕНЬ».

ISO _Пред. _Группа для нескольких групп.

Hyper популярен среди Emacsпользователей.

... И так далее, xkbпоставляются со многими вариантами каждого модификатора (сдвиг, защелка, блокировка ), но имейте в виду, что эти функции не все совместимы с Xmodmap.

В любом случае Браво за использование setxkbmap, внутри есть больше, чем большинство пользователей знают.

man Xkeyboard-config

Обратите внимание, что вы можете использовать localectlдля постоянного применения ваших изменений с теми же параметрами (позаботьтесь о небольшом изменении семантики ).

1
18.03.2021, 23:24

Теги

Похожие вопросы