Как отключить клавишу F Lock на Microsoft Natural Ergonomic Keyboard 4000 (v1.0)?
Я не хочу физически отключать ключ, поэтому мне нужно исправление программного обеспечения. Клавиатура подключена через USB и не имеет разъема PS/2.
Как отключить клавишу F Lock на Microsoft Natural Ergonomic Keyboard 4000 (v1.0)?
Я не хочу физически отключать ключ, поэтому мне нужно исправление программного обеспечения. Клавиатура подключена через USB и не имеет разъема PS/2.
Джейсон Цанг поддерживает редактирование реестра для клавиатур Intellitype Pro, чтобы отключить клавишу F-блокировки.
Ответ @JNK привел меня к приведенному ниже URL-адресу, который описывает, как имитировать отключение клавиши F Lock путем изменения конфигурации IntelliType Pro.
Файлы на этой странице относятся к более старой версии IntelliType, и поэтому я опасался их использовать, если потерял некоторые другие функции IntelliType. Однако, сравнивая исходные и измененные файлы, предоставленные там, я смог написать следующий сценарий PowerShell 2, который внесет эквивалентные изменения в файл commands.xml для любой установленной версии IntelliType.
Если вы ничего не знаете о PowerShell, то, вероятно, для вас это будет бесполезно. Если вы понимаете PowerShell - наслаждайтесь!
#requires -version 2
set-strictmode -version latest
$keyCodes = @(302, 203, 204, 307, 308, 309, 900, 901, 902, 401, 311, 310)
$matchRegex = '^\s*<C({0})\s.*$' -f ($keyCodes -join '|')
# This used to be:
# $filename = "$env:ProgramFiles\Microsoft IntelliType Pro\commands.xml"
$fileName = "$env:ProgramFiles\Microsoft Mouse and Keyboard Center\commands.xml"
$backupFileName = $fileName -replace "\.xml$", ".original.xml"
if (-not (test-path $backupFileName)) {
write-verbose "Backing up commands.xml"
cp $fileName $backupFileName
}
$file = (get-content $fileName) -replace $matchRegex, ""
$xml = [xml]$file
$allAppsStd = $xml.DPGCmd.ALL.Application |
?{ $_.UniqueName -eq "StandardSupport" }
$nextFKey = 1
$keyCodes | %{
$elemName = "C{0}" -f $_
$fkey = "F{0}" -f $nextFKey
$nextFKey++
$new = $xml.CreateElement($elemName)
$new.SetAttribute("Type", "5")
$new.SetAttribute("KeySeq", $fkey)
$allAppsStd.AppendChild($new) | out-null
}
$xml.Save($fileName)
Установите F-блокировку в нужную вам настройку, затем вытащите ключ. Клавиши рассчитаны на то, чтобы выходить без особых усилий, и без проблем защелкиваются.
Клавиатура также запоминает состояние F-блокировки даже после выключения.
Совет на странице Intellitype Джейсона не работал в Windows 7. Я переназначил функции клавиш (справка, отмена и т.д.) На фактическое нажатие клавиши Function
с помощью прилагаемого программного обеспечения для клавиатуры. Нажмите «Настроить», выберите из списка команд, нажмите клавишу ... требуемая клавиша F, когда появится окно, и ок.
Я избежал взлома реестра, работая с "Центром Microsoft Mouse and Keyboard Center" для Windows 10, таким как он есть. Жаль, что он не будет настраивать / отключать клавишу F Lock. Это было бы слишком разумно.
Готово. Теперь функциональные клавиши действуют как функциональные клавиши независимо от клавиши F Lock.