Настройка клавиатуры Comfort Keyboard K290 в ОС Ubuntu

В данной статье речь пойдёт о настройке клавиатуры Logitech Comfort Keyboard K290 под ОС Ubuntu 15.04 / 15.10. Проблема этой клавиатуры в том, что по умолчанию клавиши F5 (используется, например, для обновления веб-страниц в браузерах) и т. д. не выполняют привычные функции. Каждый раз при необходимости обновить страницу в браузере, мне приходится сначала зажимать клавишу FN, и только потом я могу нажать на F5. Для ОС Windows производитель удосужился написать специальный софт, отвечающий за переназначение клавиш на правильную работу, но как быть пользователям ОС Ubuntu и других Linux-подобных систем?

Решение проблемы

Для начала установим Git, если не установили его ранее:

1
sudo apt-get install git

Переходим на страницу репозитория k290-fnkeyctl и копируем ссылку для локального клонирования, полная команда будет выглядеть так:

1
git clone https://github.com/milgner/k290-fnkeyctl.git

Установим ещё один нужный пакет:

1
sudo apt-get install libusb-1.0-0-dev

Переходим в папку с содержимым репозитория:

1
cd k290-fnkeyctl

Запускаем специальный скрипт с помощью команды ./build.sh. Если после его запуска клавиши не заработали, то выполните другой скрипт из той же папки — sudo ./k290_fnkeyctl (у меня всё заработало после этой команды).

UPD 11.06.2015: если после перезагрузки системы настройки слетают — проделайте нижеуказанные шаги.

Перейдите в папку, куда скачали патч:

1
cd k290-fnkeyctl

Выполните скрипт, отвечающий за автоматический запуск правил:

1
sudo ./install.sh

Проверено под Ubuntu 15.04 / 15.10 (64 bit).

UPD 16.08.2020: решил установить Linux Mint 20 и чтобы клавиатура заработала правильно, выполнил последовательно эти команды:

1
2
3
4
5
6
7
8
$ sudo apt-get install g++ libusb-1.0-0-dev
$ git clone https://github.com/milgner/k290-fnkeyctl
$ cd k290-fnkeyctl
$ g++ -std=c++11 k290_fnkeyctl.cpp -lusb-1.0 -o k290_fnkeyctl
$ sudo install -o root -g root -m 0755 ./k290_fnkeyctl /usr/local/sbin
$ sudo install -o root -g root -m 0644 ./99-k290-config.rules /etc/udev/rules.d
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger --subsystem-match=input