1

Тема: AHK: Поменять функциями две клавиши - Insert и PrntScr

Мне продали дефектную клавиатуру для ноута, и при нажатии Insert в верхней строке он срабатывает как PrntScr, а PrntScr соотв как Insert. Как мне поменять эти функции глобально? Желательно, чтобы так работало всегда и везде?

2

Re: AHK: Поменять функциями две клавиши - Insert и PrntScr

В справке же есть пример переназначения клавиш.

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: Поменять функциями две клавиши - Insert и PrntScr

Только нужно знать коды этих клавиш.

4

Re: AHK: Поменять функциями две клавиши - Insert и PrntScr

А зачем коды клавиш? Используйте их названия.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Поменять функциями две клавиши - Insert и PrntScr

Insert::PrntScr
PrntScr::Insert

https://i.imgur.com/6RCneGq.png

Ничего не выходит...

6

Re: AHK: Поменять функциями две клавиши - Insert и PrntScr

В справке есть список названий клавиш.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7 (изменено: fornit, 2024-05-27 15:10:39)

Re: AHK: Поменять функциями две клавиши - Insert и PrntScr

Можно ссылочку? Я долго искал еще до того как сюда написал.

P.S. Нашел с трудом. Рабочий вариант такой:

Insert::PrintScreen
PrintScreen::Insert

8

Re: AHK: Поменять функциями две клавиши - Insert и PrntScr

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

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

9

Re: AHK: Поменять функциями две клавиши - Insert и PrntScr

AHK: Определение виртуальных и скан-кодов клавиатуры
Или проще:

Gui, +AlwaysOnTop
Gui, Font, s12, Calibri
Gui, Add, Edit, w200 h100
Gui, Show

hook := InputHook()
hook.KeyOpt("{All}", "NS")
hook.OnKeyDown := Func("GetKeyInfo")
hook.Start()

GetKeyInfo(hook, vk, sc) {
    GuiControl,, Edit1, % "Name: " . GetKeyName(Format("vk{:x}sc{:x}", vk, sc)) . "`n"
                        . "vk: "   . Format("0x{:02x}", vk) . "`n"
                        . "sc: "   . Format("0x{:02x}", sc)
}

GuiClose() {
    ExitApp
}

Запустите тот или другой скрипт, понажимайте клавиши. Если реакции на клавишу нет, значит у неё нет кодов (аппаратная).

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

10

Re: AHK: Поменять функциями две клавиши - Insert и PrntScr

Спасибо!