У меня проблема с моим ноутбуком, когда частота повторения для клавиатуры становится очень медленной после пробуждения из спящего режима. Я могу исправить это, уменьшив частоту на панели управления, применив новую частоту, а затем снова ее увеличив и применив. Но я бы предпочел не делать этого каждый раз.
Я нашел, где хранится частота повторения в реестре "HKCU:\Control Panel\Keyboard\KeyboardSpeed" и могу установить ее через powershell. Однако новая частота, похоже, не применяется (т. е. частота повторения не изменяется независимо от того, какое значение я установил). Должно быть, мне нужно что-то еще сделать, чтобы частота сохранялась, но я не знаю, что именно. Для справки, вот как я устанавливаю значение реестра:
set-itemproperty "HKCU:\Control Panel\Keyboard\" -name KeyboardSpeed -Value 3
решение1
После некоторых исследований в Интернете и доработок я сделал следующее:
https://gist.github.com/ygoe/4c03a9a2b9485356eb56513068607001
На самом деле это код C#, но упакованный в PowerShell/CMD. Опытные программисты PowerShell, вероятно, также могли бы сделать это с помощью простого кода PS.
Код использует собственныйSystemParametersInfo
функция с действиями SPI_SETKEYBOARDDELAY
и SPI_SETKEYBOARDSPEED
для изменения настроек клавиатуры. Она применяется немедленно и также отражается в соответствующем диалоговом окне конфигурации Windows.