Какой способ обеспечить включение NumLock наиболее эффективно с точки зрения ЦП?

Запустите . / etc / sysstat / sysstat в вашем скрипте. Это приведет к правильной установке переменной среды $ SA_DIR .

2
24.11.2016, 16:23
3 ответа

Мы нашли решение в Code Review :

setxkbmap -option numpad:mac

Пока я не вижу каких-либо нарушений сопоставления клавиш .

1
27.01.2020, 21:59

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

Вы могли бы немного улучшить его, написав скомпилированный код на C, так как вы избежите затрат на fork / exec и интерпретацию, но это все равно останется ужасным взломом.

Вместо этого вы могли бы включить NumLock, а затем отключить клавишу NumLock (или даже игнорировать ее состояние, если все, что вам нужно, это цифровая клавиатура, всегда числовая).

См. Это сообщение SuperUser , чтобы узнать, как это сделать с помощью xmodmap (1) .

2
27.01.2020, 21:59

Самый эффективный способ ЦП - просто отключить NumLock с помощью xmodmap , тогда вам не нужно опрашивать NumLock статус вообще. Другими словами, затраченное время процессора равно нулю. Это можно сделать с помощью

xmodmap -e "remove mod2 = Num_Lock"

, и если вы хотите использовать его снова, включите его с помощью

xmodmap -e "add mod2 = Num_Lock"

. Или создайте файл ~ / .Xmodmap с аналогичной строкой и убедитесь, что ваш запуск X читает этот файл (в некоторых современных средах рабочего стола нет).

Подробнее см. man xmodmap .

1
27.01.2020, 21:59

Теги

Похожие вопросы