Клавиша блокировки прокрутки не работает в Fedora / KDE

2149
Ynhockey

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

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

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

2

1 ответ на вопрос

4
D. Charles Pyle

Однажды я на время выдергивал свои волосы, пытаясь понять это. Видимо, блокировка прокрутки по умолчанию не определяется 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'" 

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

Спасибо, я проголосовал за ваш комментарий, потому что он кажется верным решением, хотя настройка, которую я сейчас использую, отличается, и вопрос больше не относится ко мне конкретно. Надеюсь, кто-то еще найдет это полезным. Ynhockey 9 лет назад 0
Чувак! Ты человек. Это нужно для того, чтобы подсветка клавиатуры моего разрушителя см работала на Fedora 21. penner 9 лет назад 0