2

У меня есть компьютер с Fedora 16 и KDE. Он подключен через KVM-переключатель к монитору с другим компьютером, и для переключения между компьютерами коммутатор использует Scroll Lock + Scroll Lock.

Проблема в том, что по какой-то причине кнопка Scroll Lock не работает в Fedora/KDE. Num Lock и Caps Lock работают. Команда xset q говорит, что он выключен, и xset led named "Scroll Lock" включает его, но я не могу "дважды щелкнуть".

Как я могу проверить, почему кнопка не работает, и решить проблему? Я искал везде и не нашел никого с этой конкретной проблемой.

1 ответ1

4

Однажды я на время выдергивал свои волосы, пытаясь понять это. По-видимому, блокировка прокрутки по умолчанию не определяется X, поэтому вы должны заставить ее распознавать и обнаруживать эту клавишу, если вы находитесь в этой лодке.

  1. Откройте терминал.

  2. Запустите xmodmap -pm, чтобы проверить, какие ключи мода доступны. Обычно есть хотя бы один. В моем случае был доступен мод3. Поэтому я бы запустил следующее (ваш доступный ключ мода может отличаться, поэтому используйте этот номер при запуске следующей команды).

  3. Запустите xmodmap -e 'add mod3 = Scroll_Lock', и клавиша Scroll Lock должна начать работать в X.

  4. Чтобы сделать это постоянным, вы можете добавить элемент запуска в вашем оконном менеджере / среде или использовать другой метод, например, поместить его в ваш файл .xinitrc или создать файл в xinitrc.d (если они все еще работают для вашего дистрибутива Linux). или используйте другой метод, если они этого не делают).

ОБНОВЛЕНО: Я только что заметил, что после некоторых обновлений мой предыдущий метод вызова xmodmap с использованием элемента автозагрузки перестал работать. Я использовал дополнение к настройкам Startup Applications. Поскольку этот способ сделать это теперь добавлен к другим способам, которыми эта команда была нарушена, я добавлю следующее для Fedora 21 и более поздних версий. Это также должно работать для ряда других дистрибутивов, но YMMV.

Чтобы сделать вышеуказанное постоянным, сделайте следующее:

  1. Используйте ваш доступный номер мода, полученный из вышеупомянутого, если он отличается от мода 3 ниже, или проверьте еще раз, чтобы увидеть, какой из них доступен, запустив:

xmodmap

Мы будем предполагать, что он дал mod3 в качестве доступного слота для целей данного руководства.

  1. Создайте скрипт в каталоге /usr /local /bin с именем scrlkon.

sudo touch /usr/local/bin/scrlkon

  1. Откройте файл, который вы только что создали (вы можете использовать ваш любимый текстовый редактор вместо nano, если хотите).

sudo nano /usr/local/bin/scrlkon

  1. Поместите в файл следующий текст:

#!/usr/bin/sh

sleep 4

exec xmodmap -e 'add mod3 = Scroll_Lock'

exit

  1. Сохраните файл и сделайте его исполняемым:

sudo chmod +x /usr/local/bin/scrlkon

  1. Вызовите скрипт из элемента автозагрузки.

Вы можете называть этот новый элемент автозапуска как угодно, пока он вызывает scrlkon

  1. Перезагрузите компьютер, если он не запускается сразу после выхода и повторного входа.

Примечание. При необходимости вы можете настроить число спящих более 4. Вызов функции Sleep необходим для противодействия тому, что отключает клавишу mod или отключает команду xmodmap при входе в систему. 4 - хорошее число, так как после входа в систему это не займет много времени. Но если он все еще отключается чем-то в среде Fedora (это особенно плохо в mate-desktop по какой-то причине), просто увеличивайте число в спящем режиме, пока не получите последовательно включенный ключ. Это должно сделать это.

Альтернативой тому, как сделать это описанным выше способом (если вы не хотите создавать сценарий или добавлять другие файлы), является замена следующего в поле «Команда» элемента «Программа запуска» на альтернативные шаги 2–6:

sh -c "sleep 15; exec xmodmap -e 'add mod3 = Scroll_Lock'"

Кажется, это тоже работает. Просто убедитесь, что одинарные и двойные кавычки являются прямыми, а не фигурными кавычками.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .