Переназначить FN на другой ключ

14

У меня есть клавиатура ( Logitech Wave , изображенная ниже), которой я очень доволен. К сожалению, производитель изменил кнопку для щелчка правой кнопкой мыши для клавиши FN.

Есть ли программа для переназначения клавиши FN на что-то еще?

альтернативный текст

MrValdez
источник
Вы бы порекомендовали получить один из них? Мне нужна новая клавиатура, и я не могу определиться ...: p
Svish
2
Это красивая клавиатура, но OMG! Ты не должен портить
Игал Табачник
@Svish за исключением клавиши FN и функциональных клавиш, это прекрасно. Кроме того, я должен отметить, что клавиатура огромна, что не проблема для меня, но может быть проблемой для вас.
MrValdez
@hmemcpy Я полностью согласен с этим постом. но мне очень нравится дизайн клавиатуры. На нем удобно печатать, и большую часть времени я оставляю палец поверх клавиш, что (верите или нет) расслабляет мои пальцы. Мне бы очень хотелось, чтобы они не разрушили раскладку клавиатуры.
MrValdez
1
@Synetech: у меня есть это сейчас на самом деле, хе-хе. И должен сказать, за исключением того, что клавиша Fn (но на самом деле не такая уж большая проблема), мне это нравится. Что касается вертикального блока редактирования / навигации, то на самом деле он мне нравится намного лучше, чем обычный. Никогда не думал, что скажу это, но да :) Начало и конец находятся рядом друг с другом, что имеет смысл, страница вверх и страница вниз, как они должны быть, и клавишу удаления легко нажать. И должен сказать, что я использую это гораздо больше, чем вставить. Не могу даже думать о том, чтобы когда-либо использовать клавишу вставки, кроме как случайно ... и находить это раздражающим ...
Свиш

Ответы:

6

SHIFT+ F10.

Сочетание клавиш правой кнопкой мыши должно удерживать, SHIFTа затем нажать F10. Это альтернатива, если кнопка right-click/ context menuнедоступна.

слабый грипп
источник
6

Ключ Fn может быть переназначен или отключен?

Копаясь в переназначении комбинаций Fn с помощью такой программы, как AutoHotKey, или копаясь в кодах сканирования клавиатуры для Windows, можно перераспределить оскорбительные комбинации клавиш (Fn + Key). (см. ниже этот ответ).

Поскольку клавиша Fn обычно находится на аппаратном уровне, она не сможет редактировать или отключать это, делая это на этом уровне.

[Fn] Обычно это аппаратный ключ, который не генерирует отдельный код.

Источник: Значения кода KeyboardEvent событий пользовательского интерфейса - Рекомендация кандидата W3C, 2017


На подобном ключе F-Lock, Джейсон Цанг, Microsoft MVP, говорит следующее:

Клавиша F Lock - это аппаратный переключатель клавиатуры. Его состояние не может контролироваться программно. По умолчанию установлено «выкл». В результате, всякий раз, когда клавиатура сбрасывается или теряет питание, клавиша F Lock всегда будет в выключенном состоянии. Обратите внимание, что на клавиатурах Microsoft, выпущенных после сентября 2004 года, клавиатура сохранит статус F Lock после перезагрузки.

Источник: Клавиатуры Microsoft - F Lock Key


Что такое клавиша Fn? Еще немного подробнее:

Fn не является обычной клавишей клавиатуры, такой как модификаторы Ctrl, Shift и AltGr. Для стандартной клавиши-модификатора микроконтроллер внутри клавиатуры отправляет скан-код для самого модификатора, который затем интерпретируется операционной системой и комбинируется с другими одновременными нажатиями клавиш. Клавиша Fn является формой мета-модификатора, которая заставляет операционную систему видеть измененные коды сканирования при нажатии других клавиш на клавиатуре. Это позволяет клавиатуре напрямую эмулировать полноразмерную клавиатуру, поэтому операционная система может использовать стандартные сочетания клавиш, предназначенные для полноразмерной клавиатуры. Однако, поскольку операционная система не имеет понятия о клавише Fn, клавиша обычно не может быть переназначена в программном обеспечении, в отличие от всех других стандартных клавиш клавиатуры.

Источники - A) сообщение на форуме Highrez, вероятно, основано на B) сообщение в Википедии


Почему часто кажется невозможным нанести на карту клавишу Fn?

Действительно, клавиатура работает следующим образом (значения являются лишь примерами, поведение упрощено):

  • Обычные ключи: отправка байта 0x00 + код сканирования ключа байта
  • Модификаторы (alt / option, control, windows / command и fn): отправляет байт сканкода модификатора + байт кода сканирования ключа
  • Специальные клавиши (например, клавиши G15): отправка стандартных (например, клавиш регулировки громкости) или пользовательских (в зависимости от производителя) кодов сканирования

Большинство клавиатур "fn" (включая яблоко) просто обрабатывают комбинацию клавиш перед отправкой данных, поэтому нажатие и отпускание клавиши fn ничего не изменит. Например:

  • Нажатие клавиши F1 -> Scancode 0x1A -> операционная система распознает как клавишу F1
  • Нажатие FN и F1 -> Scancode 0x9A -> операционная система распознает как клавишу увеличения громкости
  • Нажатие клавиши FN -> на клавиатуре микроконтроллера ждет другой клавиши, прежде чем отправлять какие-либо данные.

Источник: AutoHotKey Forum


Один плакат на AutoHotKey начинается с риторических вопросов

I don't get any response when I press the Fn key.

Клавиша fn не должна отправлять какие-либо сигналы. Что он делает, это изменить сигнал, который отправляется при нажатии другой клавиши ...

Таким образом, реальная проблема Fn-ключа заключается в том, что он просто не существует в ОС, поэтому вы не можете фактически «переназначить» его в ОС. Все, что вы можете сделать, это переназначить вторичную функцию некоторой клавиши, переназначив клавишу, чтобы послать fn-модифицированный одиночный сигнал ...

В общем, автоматизировать FN-ключ не представляется возможным. Однако автоматизировать его окончательный результат не проблема! ...

Так что, к сожалению, на уровне операционной системы автоматизация невозможна: вам придется перейти на уровень аппаратного обеспечения / драйверов, а это невозможно с помощью AutoHotKey.

Источник: AutoHotKeyForum Post


Некоторые люди добились успеха, перераспределяя функции Fn с помощью Autohotkey, и немногие даже добились успеха, увидев клавишу Fn.

... вы все еще можете сделать его горячей клавишей, выполнив следующие действия:

  • Убедитесь, что запущен хотя бы один скрипт, использующий перехват клавиатуры. Вы можете определить, есть ли в скрипте зацепка клавиатуры, открыв его главное окно и выбрав «View-> Key history» в строке меню.
  • Дважды щелкните значок на панели задач этого скрипта, чтобы открыть его главное окно.
  • Нажмите одну из «загадочных клавиш» на клавиатуре.
  • Выберите пункт меню «Вид-> История ключей». Прокрутите вниз до нижней части страницы.
  • Где-то внизу находятся события нажатия клавиш и нажатия клавиш для вашего ключа.
  • ПРИМЕЧАНИЕ. Некоторые ключи не генерируют события и поэтому не будут видны здесь. Если это так, вы не можете напрямую сделать эту конкретную
    клавишу горячей клавишей, потому что драйвер клавиатуры или аппаратное обеспечение обрабатывают ее на уровне, слишком низком для доступа AutoHotkey. Возможные решения см.
    Ниже. Если ваш ключ обнаружим, запишите трехзначное
    шестнадцатеричное значение во втором столбце списка (например, 159). Чтобы
    определить этот ключ как горячую клавишу, следуйте этому примеру:
SC159:: ; Replace 159 with your key's value.
MsgBox, %A_ThisHotkey% was pressed.
return

Обратное направление: чтобы переназначить какой-то другой ключ, чтобы он стал «загадочным ключом», следуйте этому примеру:

; Replace 159 with the value discovered above. Replace FF (if needed) with the
; key's virtual key, which can be discovered in the first column of the Key History screen.
#c::Send {vkFFsc159} ; See Send {vkXXscYYY} for more details.

Источник: autohotkey.com/docs/KeyList.htm


Использование AutoHotKey для переназначения через DLL

AutoHotkey - это утилита для создания макросов с открытым исходным кодом для Windows, и одной из ее многочисленных функций является создание горячих клавиш. Миха, один из участников форумов AHK, создал файл DLL, чтобы добавить поддержку AHK для устройств интерфейса пользователя. Используя этот файл DLL, можно считывать ключи практически каждого HID; клавиатуры, мыши, пульты дистанционного управления и т. д.

Вот что говорит создатель процесса DLL в старой статье:

Прежде всего, некоторая информация о работе клавиатуры и, в частности, клавиши Fn. Каждая клавиша имеет свой уникальный код, код сканирования, по которому компьютер, к которому она подключена, может узнать, нажата ли определенная клавиша и когда она отпущена. Клавиша Fn работает немного по-другому. Когда вы нажимаете и удерживаете клавишу Fn, она изменит коды сканирования (некоторые из) других клавиш на клавиатуре, чтобы одна клавиша могла отправлять на компьютер разные коды сканирования, каждая из которых подключена к определенной функции. Вот почему клавиша Fn часто используется на ноутбуках, небольших клавиатурах или клавиатурах с большим количеством мультимедийных клавиш. Таким образом, вы можете добавить множество функций к относительно небольшому количеству клавиш.

Проблема в том, что клавиша Fn обычно не имеет собственного кода сканирования. В зависимости от клавиатуры и компьютера, к которому она подключена, возможно, клавиша Fn не изменяет коды сканирования других клавиш и поэтому не работает. Поскольку он также не отправляет собственный код сканирования, у компьютера нет возможности узнать, что даже есть клавиша Fn, не говоря уже о том, что делать, когда она нажата в сочетании с другой клавишей. Инструменты переназначения также не могут вам помочь, потому что они также основаны на использовании кодов сканирования.

Пример записи значения ключа Fn на основе инструкций:

После запуска нажмите клавишу Fn или другую специальную клавишу и запишите соответствующее значение.

; Filter bit 5 (Fn key) Transform, FnValue, BitAnd, 16, KeyStatus

Пример кода для переназначения функции Fn

;
; Fn + Backspace = Delete
;
$Backspace::hotkeyBS()

hotkeyBS() {
global fnPressed
if (fnPressed = 1) {
Send {Delete}
} else {
Send {Backspace}
}
}
Return

Источник: следуйте полной инструкции здесь


SharpKeys

Скачать здесь ; есть статья здесь .

SharpKeys - это утилита, которая управляет ключом реестра, что позволяет Windows переназначить один ключ на любой другой ключ. В приложение включен список общих клавиш клавиатуры и функция Type Key для автоматического распознавания большинства клавиш клавиатуры. Первоначально он был разработан в C # с использованием .NET v2, но был обновлен для поддержки .NET 4.0 Client Profile.

Также KeyTweak

KeyTweak - это простая утилита, которая позволяет пользователям переопределять свои входные сигналы клавиатуры. Функциональность стала возможной благодаря значению реестра, впервые задокументированному в Windows 2000, но также присутствующему в Windows NT 4.0. и включены в XP, Vista и Windows 7. В этом разделе перечислены некоторые функции KeyTweak и причины, по которым вы можете использовать KeyTweak.

Архив: руководство и установщик здесь


Дополнительная информация:


Документация и ссылки Microsoft

Ссылки изначально от SU Ответить


Что делает режим клавиши действия через Bios?

Этот параметр изменяет поведение по умолчанию верхних кнопок на клавиатуре ноутбука. Что это означает?

Если для параметра «Action Keys Mode» установлено значение «Enabled», то для использования дополнительных функций, отображаемых в виде значков в верхнем ряду клавиатуры, вам не нужно нажимать клавишу Fn. Его нужно зажать, чтобы верхние кнопки работали как F1..F12.

В случае, когда «Режим клавиш действия» находится в положении «Отключено», как это часто бывает по умолчанию, верхние кнопки будут работать как стандартные F1 ... F12, и для использования их расширенных функций, изображенных в виде значков, необходимо дополнительно зажим Fn.

Источник: перевод русской статьи HelpAdmins.ru


Дальнейшее чтение

Под деревом
источник