Какой ASCII код у клавиши "Fn" на клавиатуре?

Статус: Offline
Реєстрація: 28.09.2007
Повідом.: 20510
Какой ASCII код у клавиши "Fn" на клавиатуре?

Вообщем такая проблема: надо посылать коды кнопок стандартной клавиатуры на устройство. Девайс собран на микроконтроллере и в принципе работает и посылает коды кнопок и их комбинаций, но я нифига не пойму, как сэмулировать нажатие кнопки "Fn"?
Гуглил. Вроде пишут, что нет у неё ASCII кода. Несколько программ логгеров тупо не видят эту клавишу. Но как-то ж комп получает сигнал, что нажата эта кнопка?!
Как это сэмулировать: допустим Fn+F3 ?
 
Во-первых, скан-коды клавиш это не то же самое что ASCII коды. Не надо путать.
Во-вторых, в разных случаях Fn может обрабатываться по-разному, и довольно нередко она работает на уровне железа, то есть ОС про неё вообще не в курсе, и соответственно скан-кода у неё в этом случае нет. И да, если логгер её не видит - это именно тот случай.
Да и вообще, зачем вам посылать код Fn на устройство? Сама по себе кнопка ничего не делает! Она имеет смысл только в виде сочетания, и в этом случае она посылает специфический скан-код. Вот у меня например сейчас клавиатура, на которой на F9, F10, F11 стоят значения "выключить звук, уменьшить звук, увеличить звук". Если я нажимаю F9 - клавиатура посылает скан-код клавиши F9. А если нажимаю Fn+F9 - клавиатура посылает не два кода, а один код соответствующий мультимедийной клавише Mute!
Вот и вам нужно то же самое, не посылать код клавиши Fn, а посылать результирующий код.
 
Во-первых, скан-коды клавиш это не то же самое что ASCII коды. Не надо путать.
Во-вторых, в разных случаях Fn может обрабатываться по-разному, и довольно нередко она работает на уровне железа, то есть ОС про неё вообще не в курсе, и соответственно скан-кода у неё в этом случае нет. И да, если логгер её не видит - это именно тот случай.
Да и вообще, зачем вам посылать код Fn на устройство? Сама по себе кнопка ничего не делает! Она имеет смысл только в виде сочетания, и в этом случае она посылает специфический скан-код. Вот у меня например сейчас клавиатура, на которой на F9, F10, F11 стоят значения "выключить звук, уменьшить звук, увеличить звук". Если я нажимаю F9 - клавиатура посылает скан-код клавиши F9. А если нажимаю Fn+F9 - клавиатура посылает не два кода, а один код соответствующий мультимедийной клавише Mute!
Вот и вам нужно то же самое, не посылать код клавиши Fn, а посылать результирующий код.

Логично. Мне это и надо, только я не знаю как это сделать с клавишей Fn.
Как мне послать комбинацию (команду, код или хз как это обозвать) -например Fn+F3?
 
Логично. Мне это и надо, только я не знаю как это сделать с клавишей Fn.
Как мне послать комбинацию (команду, код или хз как это обозвать) -например Fn+F3?

Да господи, я что, на инопланетном языке объясняю? НЕТ ТАКОЙ КОМБИНАЦИИ КАК Fn+F3!!! Она на каждой клавиатуре своя будет. На одной это будет выключать экран, на второй увеличивать звук, на третьей включать WiFi. И ОС понятия не будет иметь, что вы нажали именно Fn+F3, она будет получать КОНЕЧНЫЙ РЕЗУЛЬТАТ. Это для каждой клавиатуры будет РАЗНЫЙ код, в зависимости от назначенной функции. Вам какой КОНЕЧНЫЙ РЕЗУЛЬТАТ нужен?
 
Да господи, я что, на инопланетном языке объясняю? НЕТ ТАКОЙ КОМБИНАЦИИ КАК Fn+F3!!! Она на каждой клавиатуре своя будет. На одной это будет выключать экран, на второй увеличивать звук, на третьей включать WiFi. И ОС понятия не будет иметь, что вы нажали именно Fn+F3, она будет получать КОНЕЧНЫЙ РЕЗУЛЬТАТ. Это для каждой клавиатуры будет РАЗНЫЙ код, в зависимости от назначенной функции. Вам какой КОНЕЧНЫЙ РЕЗУЛЬТАТ нужен?
Да похеру, что эта комбинация означает... :)
Поясняю:
устройство, к которому подключаю клавиатуру (ЮСБ, беспроводную) реагирует должнім мне образом на нажатие комбинацию кнопок Fn+F3. Да, вот оно реагирует как мне нужно. Так же оно реагирует на другие комбинации Альт+"стрелка влево"и т.д. Я могу послать с МК код (или хер, что там получается) этих Альт+"стрелка влево". Но как это сделать для комбинации Fn+F3? Ведь ОС сообщается каким-то образом, что нажимается именно Fn+F3, а не другая комбинация.
МК эмулирует стандартную HID клавиатуру.
 
Боже, ну ты реально тугой....
Вот смотри, я картинок нарыл.
Клавиатура номер раз:
5ehhea.jpg

На клавише F3 иконка поиска. Значит Fn+F3 будет (наверно) посылать команду APPCOMMAND_BROWSER_SEARCH, код VK_BROWSER_SEARCH = 0xAA

Клавиатура номер два:
ahj6bd.jpg

Если я правильно вижу, тут F3 имеет значёк увеличения громкости. Значит Fn+F3 будет посылать команду APPCOMMAND_VOLUME_UP, соответственно код VK_VOLUME_UP = 0xAF

Клавиатура номер 3:
gdj0hj.jpg

Вообще какой-то значёк клавиатуры. Я хз, что она будет делать. Возможно она ВООБЩЕ НЕ БУДЕТ НИКАКОГО КОДА ПОСЫЛАТЬ, просто переключит клавиатуру в другой режим.

Теперь по поводу твоего:
устройство, к которому подключаю клавиатуру (ЮСБ, беспроводную) реагирует должнім мне образом на нажатие комбинацию кнопок Fn+F3. Да, вот оно реагирует как мне нужно.
ДА ВОТ НИХУЯ ЖЕ! Он не получает кода кнопок Fn+F3. Оно получает код, который забит для ДАННОЙ КОНКРЕТНОЙ КЛАВИАТУРЫ, и выполняет соответствующую функцию. Подключешь другую клавиатуру - будет получать другой код, и выполнять ДРУГУЮ функцию, хотя жать ты будешь всё так же F3.

Если и после этого не дойдёт - то я умываю руки.
 
Боже, ну ты реально тугой....
Вот смотри, я картинок нарыл.
Клавиатура номер раз:
5ehhea.jpg

На клавише F3 иконка поиска. Значит Fn+F3 будет (наверно) посылать команду APPCOMMAND_BROWSER_SEARCH, код VK_BROWSER_SEARCH = 0xAA

Клавиатура номер два:
ahj6bd.jpg

Если я правильно вижу, тут F3 имеет значёк увеличения громкости. Значит Fn+F3 будет посылать команду APPCOMMAND_VOLUME_UP, соответственно код VK_VOLUME_UP = 0xAF

Клавиатура номер 3:
gdj0hj.jpg

Вообще какой-то значёк клавиатуры. Я хз, что она будет делать. Возможно она ВООБЩЕ НЕ БУДЕТ НИКАКОГО КОДА ПОСЫЛАТЬ, просто переключит клавиатуру в другой режим.

Теперь по поводу твоего:

ДА ВОТ НИХУЯ ЖЕ! Он не получает кода кнопок Fn+F3. Оно получает код, который забит для ДАННОЙ КОНКРЕТНОЙ КЛАВИАТУРЫ, и выполняет соответствующую функцию. Подключешь другую клавиатуру - будет получать другой код, и выполнять ДРУГУЮ функцию, хотя жать ты будешь всё так же F3.

Если и после этого не дойдёт - то я умываю руки.

Спокуха! Дядя уже старый и он железячник, а не програмёр :D
Мне вот как раз и надо сэмулировать нажатие запуск фунции поиск.

APPCOMMAND_BROWSER_SEARCH, код VK_BROWSER_SEARCH = 0xAA
.

Как называется команда и её код для изменения яркости дисплея? на моём домашем ноуте это Fn+F5 и Fn+F6. Где почитать про эти коды и команды чтобы я не заёбывал такими вопросами... :)
:пиво:
 
Мне вот как раз и надо сэмулировать нажатие запуск фунции поиск.
Аллилуйя! Но у меня вот обратная проблема - програмёр, не железячник. Я коды смотрел
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
и
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
.
Опять же, эти коды выдадут клавиатурные логгеры.
Насколько коды виртуальных клавиш кореллируют с реальными скан-кодами, посылаемыми по HID - я не скажу, ибо, как сказал выше, программер.
 
Спасибо за терпение! :D :пиво:
 
Назад
Зверху Знизу