У меня есть Mac, и модифицирующие клавиши на клавиатуре в порядке слева направо: Ctrl, Высокий звук, Супер (иначе. Cmd, ⌘, ключ Windows). Я хотел бы порядок быть Ctrl, Супер, Высоким звуком вместо этого, и таким образом, я продолжил повторно отображать их.
Существует протирание, жестко, потому что я регулярно присоединяю внешнюю клавиатуру, которая в правильном порядке уже имеет ключи. Если я подкачиваю ключи здесь, они заканчивают неправильно.
Таким образом, я хочу повторно отобразить/подкачать ключи для клавиатур яблока конкретно. Вместо этого я с удовольствием признал бы, что повторно отображение ключей для определенной клавиатуры всунуло мой ноутбук только (в противоположность всем клавиатурам яблока автоматически).
После исследования этого я закончил с решением, которое является только наполовину работой.
Я запускаю следующий скрипт на входе в систему (~/.kde/Autostart/custom-remap.sh
), который пытается повторно отобразить ключи для моей внутренней клавиатуры только:
#!/bin/bash -e
DIRNAME=$(dirname $0)
# Use xinput to target a specific keyboard only:
APPLE_KEYBOARD_ID=$(
xinput list |
grep 'Apple Internal Keyboard' |
sed -n 's/.*id=\([0-9]\+\).*/\1/p'
)
# Apply mappings from xkb/symbols/custom
# Maps ctrl, win and alt-keys to be in PC standard positions
setxkbmap -device $APPLE_KEYBOARD_ID -print |
sed 's/\(xkb_symbols.*\)"/\1+custom(apple-keyboard-swaps)"/' |
xkbcomp -I$DIRNAME/xkb -i $APPLE_KEYBOARD_ID -synch - $DISPLAY
Это полагается на следующий файл, xkb/symbols/custom
:
xkb_symbols "apple-keyboard-swaps" {
key <LWIN> { [ Alt_L ] };
key <LALT> { [ Super_L ] };
key <RWIN> { [ Alt_R ] };
key <RALT> { [ Control_R ] };
};
Это решение иногда работает отлично, иногда не имеет никакого эффекта, и недавно казалось, что гибридный результат пустил корни в моей системе: Ни один из Высокого звука или Супер ключей не работал бы правильно, они, кажется, действуют немного как оба.
"Иногда" действительно плохо определяется. Я могу войти в любое состояние после перезагрузки. Присоединение/отсоединение моей внешней клавиатуры могло бы инициировать изменение состояния. Другие времена, по-видимому наугад, состояние переключится, в то время как я использую компьютер. Запущение скрипта многократно, кажется, не влияет на состояние (если это не берет в первый раз, когда это не берет энному времени ни одного).
Как я могу достигнуть соответствующего переотображения и иметь его работающий надежно?
(Я в настоящее время выполняю Kubuntu 14.04, но он действовал так же под Kubuntu 13.10),
Я также хотел сделать подкачку cmd и клавиши Alt только на моем MacBook Pro, но не, когда мне включили нормальную внешнюю клавиатуру.
От направлений здесь , следующее "просто работает" над 14,04 (и вероятно 13.10):
options hid_apple swap_opt_cmd=1
к /etc/modprobe.d/hid_apple.conf
, создавая файл, если он не существует sudo update-initramfs -u -k all