Изменить частоту повторения нажатия клавиш через PowerShell

Изменить частоту повторения нажатия клавиш через PowerShell

У меня проблема с моим ноутбуком, когда частота повторения для клавиатуры становится очень медленной после пробуждения из спящего режима. Я могу исправить это, уменьшив частоту на панели управления, применив новую частоту, а затем снова ее увеличив и применив. Но я бы предпочел не делать этого каждый раз.

Я нашел, где хранится частота повторения в реестре "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.

Связанный контент