169 похожих чатов

И еще один вопрос. Купил давно BT Keyboard от Микрософт.

Эти извращенцы убрали из нее несколько привычных клавиш, типа NumLock, зато добавили кучу таких, которых в нормальной клаве нет -- например "смайлик" или "замок", которая сразу над Backspace -- очень удобно, палец промахнулся и комп сразу залочен...

Как найти коды этих нестандартных клавиш?

3 ответов

10 просмотров

Вот попробуй это GPT накидал Для того чтобы определить коды нестандартных клавиш на вашей Bluetooth клавиатуре, можно воспользоваться утилитой xev на Linux или специальными инструментами на Windows. Вот несколько способов, которые могут помочь: ### На Windows 1. Использование PowerShell: PowerShell позволяет отслеживать события клавиатуры с помощью специальных команд. Вот пример скрипта на PowerShell, который поможет вам определить коды клавиш: Add-Type @" using System; using System.Windows.Forms; public class KeyboardListener { public static void Main() { Form f = new Form(); f.KeyPreview = true; f.KeyDown += (sender, e) => { Console.WriteLine($"Key: {e.KeyCode}, Code: {(int)e.KeyCode}"); if (e.KeyCode == Keys.Escape) { Application.Exit(); } }; Application.Run(f); } } "@ [KeyboardListener]::Main() Этот скрипт откроет окно, в котором при нажатии клавиш будет отображаться их код. Для выхода из программы нажмите Esc. 2. Использование сторонних программ: Существует множество программ для отслеживания нажатий клавиш, например, [SharpKeys](https://github.com/randyrants/sharpkeys) или [KeyTweak](http://web.archive.org/web/20190714082253/http://webpages.charter.net/krumsick/). Они позволяют не только узнать коды клавиш, но и переназначить их. ### На Linux 1. Использование утилиты xev: В Linux можно использовать утилиту xev для определения кодов клавиш. sudo apt-get install x11-utils xev После запуска xev откроется окно, в котором при нажатии клавиш будет отображаться информация о событии, включая код клавиши. Выглядеть это будет примерно так: KeyPress event, serial 37, synthetic NO, window 0x4e00001, root 0x10e, subw 0x0, time 42440561, (110,56), root:(1136,444), state 0x0, keycode 38 (keysym 0x61, a), same_screen YES, XLookupString gives 1 bytes: (61) "a" XmbLookupString gives 1 bytes: (61) "a" XFilterEvent returns: False Здесь keycode 38 соответствует клавише a. ### Заключение После того как вы узнаете коды нестандартных клавиш, вы можете использовать их для переназначения или отключения нежелательных клавиш. Для этого можно использовать программы вроде SharpKeys на Windows или xmodmap на Linux. Если у вас будут вопросы по конкретным клавишам или потребуется помощь в настройке, пожалуйста, дайте знать!

Стикер

В Windows можно использовать AHK v2 https://www.autohotkey.com/docs/v2/KeyList.htm Создай скриптовый файл; Запусти скрипт. В трее винды появится иконка. По ней правый клик и там где-то будет окно с историей нажатых клавиш. Увеличить или отключить историю кодов можно командой https://www.autohotkey.com/docs/v2/lib/KeyHistory.htm

Похожие вопросы

Обсуждают сегодня

$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
здравствуйте. пытаюсь проверить, содержится ли в десятичном представлении инта некоторая цифра. совершаю: strstr(x, "5") != NULL) получаю ошибку с фото (заведомо неработающий ...
Катя Шевчук🪇
18
Что там вообще с кроссплатформенностью?
🄼🄰🄺🅉🄰🄸
23
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
Ребята. Этот вопрос мучает меня уже 13 - 15 лет. Почему при валидации в ФормЛистере у поля phone поведение странноватое и отличается от других? А именно, вот набор правил д...
Андрей [aharito] Харитонов
1
{ char buff = *start; *start = *end; *end = buff; } Из-за этой строчки? Что каждый символ через перем бафф? Как вариант использовать другие со...
Wenks
12
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
Кстати, а я вот тут подумал. Допустим, у нас имеется цикл который выполняет огромное количество итераций, но мы хотим, чтобы какие-то действия исполнилось только один раз. В Я...
The Bird of Hermes
23
Карта сайта