Как поменять местами клавиши Ctrl и Fn на клавиатуре Lenovo Thinkpad?

21

Я попытался обменять свой Fnключ с левой стороны Control, которая не сработала.

Я использовал команду, xevчтобы получить коды клавиш / keysym.

После этого я использовал:

xmodmap -e 'keycode 151=Control_L'
xmodmap -e 'keycode 37=XF86WakeUp'

Но это ничего не изменило.

Я также не мог создать, .Xmodmapчтобы изменить ключи там.

Я что-нибудь забыл? Это не выбросило ошибку.

user127547
источник
Есть ли способ сделать это в Ubuntu 14.04?
Луи

Ответы:

29

Если вы используете ноутбук Lenovo или Thinkpad, посмотрите в конфигурации BIOS / UEFI, чтобы проверить, есть ли опция «Поменять местами Fn и Ctrl» в разделе «Клавиатура». Согласно руководству пользователя, большинство моделей должны иметь эту опцию.

oldherl
источник
Это сэкономило мне кучу времени ... спасибо!
Исаак Грегсон
Это прекрасно работает на моей йоге 500.
Нильсмагн
Это правильный ответ в моем случае. Благодарность!
Брайли Кристофер Оксли
5

Вы, вероятно, используете клавиатуру Lenovo, которая сообщает Fnкак XF86WakeUp. Обычно событие Fnвообще не регистрируется, xevпотому что оно обрабатывается BIOS, поэтому вы не можете переназначить его.

Тот факт, что об этом сообщается как, XF86WakeUpвызывает большую путаницу, как вы можете видеть в этом отчете об ошибках , но это не совсем ошибка, процитировав комментарий 27 этого отчета об ошибках:

Это не совсем ошибка. Fn является ключом будильника , когда машина приостановлена. Если кто-то хочет сопоставить его с другими функциями, то это нормально, но возможность сделать это не универсальна ... Fnна ThinkPads и LenovoPads - это волшебный / особый ключ. Если только генерирует свой собственный код, если не сочетается ни с одной из других волшебных (выделенных синим цветом) комбинаций клавиш, и это скорее случайность, чем что-либо еще.

Герхард Бургер
источник