Как отключить клавишу F Lock на моей естественной клавиатуре 4000?

15

Как отключить клавишу F Lock на Microsoft Natural Ergonomic Keyboard 4000 (v1.0)?

Я не хочу физически отключать ключ, поэтому мне нужно исправление программного обеспечения. Клавиатура подключена через USB и не имеет разъема PS / 2.

Дамиан Пауэлл
источник

Ответы:

9

Джейсон Цанг ведет редактирование реестра для клавиатур Intellitype Pro, чтобы отключить клавишу F-блокировки.

JNK
источник
Выглядит хорошо, но, боже мой, что за грязный хак! F-fudge IntelliType - это, по сути, набор макросов для каждого приложения. jtsang.mvps.org/usb_intellitype.html
Дамиан Пауэлл,
@Damian Powell - да, это не идеально, но Fkey в любом случае беспорядок.
JNK
Рад, что это помогло!
JNK
1
Хороший ответ. Я использую это в течение многих лет. На этот раз я использовал приведенный ниже сценарий Дамиана, который я очень рекомендую. Таким образом, вы не вернете свои пользовательские привязки клавиш к тому, что было в 2006 году.
Нил
3
Эта ссылка мертва.
BornToCode
6

Ответ @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)
Дамиан Пауэлл
источник
ТЫ ЖЖЕШЬ! Это должно быть запущено из командной строки PowerShell с правами администратора и соответствующей шириной в битах процесса (32-битная или 64-битная ... какое слово нужно использовать).
М. Дадли
1
@emddudley Это фраза, которую вы ищете "длина слова"?
Дамиан Пауэлл
4

Советы на странице Intellitype Джейсона не работали в Windows 7. Я переназначил функции клавиш (справка, отмена и т. Д.) На фактическое Functionнажатие клавиши с помощью прилагаемого программного обеспечения для клавиатуры. Нажмите «Настроить», выберите из списка команд, нажмите клавишу ... требуемая клавиша F, когда появится окно, и ок.

Cherls
источник
3

Установите F-блокировку в нужную вам настройку, затем вытащите ключ. Клавиши рассчитаны на то, чтобы выходить без особых усилий, и без проблем защелкиваются.

Клавиатура также запоминает состояние F-блокировки даже после выключения.

Эндрю Сканелли
источник
1
Этот метод также работает в любой операционной системе и возвращает клавише F12 правильное место в качестве большинства функциональных клавиш, что облегчает поиск без просмотра.
Тим Готье
0

Я избежал взлома реестра, работая с «Центром Microsoft Mouse and Keyboard Center» для Windows 10, таким как он есть. Жаль, что он не будет настраивать / отключать клавишу F Lock. Это было бы слишком разумно.

  1. Создайте 12 макросов "Macro F1" через "Macro F12" с помощью клавиш F1 через F12. (Уж больно повторяющийся, но легкий.)
  2. Назначить справку «Макро F1».
  3. Назначьте Отменить для «Макро F2».
  4. Назначьте Redo для «Macro F3».
  5. ...
  6. Назначить печать «Макро F12».

Выполнено. Теперь функциональные клавиши действуют как функциональные клавиши независимо от клавиши F Lock.

AlanB
источник