Створити "Підроблені клавіші", які комп'ютер інтерпретує як реальні?


20

Пояснення

Добре, значить, це фотографія загальної компонування клавіатури.

Що мені цікаво: чи можливо емуляція додаткових клавіш на клавіатурі, крім стандартних клавіш? Наприклад, я міг би обдурити комп’ютер, думаючи, що на моїй клавіатурі також є 3 додаткові клавіші з позначеннями FK1, FK2 та FK3.

Ці додаткові три клавіші не будуть буквеними ключами, як-от Домашня сторінка, Вставка, Сторінка та ін.
В основному вони нічого не роблять, якщо не призначені робити щось. Наприклад, якщо я встановив гарячу клавішу в програмі для використання FK1 , вона зареєструє її.

Чому?

Я радий, що ти запитав. Я дуже багато граю в гру під назвою ArmA 3 , і ті, хто знайомий з грою, знають, що вона використовує майже кожну клавішу на клавіатурі.
Для спілкування зі своїми товаришами в цій грі я використовую TeamSpeak. У мене є звукова дошка для командної розмови, і я хочу мати можливість активувати різні звуки за допомогою гарячих клавіш замість клацання клавіш alt та клацання, але в ArmA практично не залишилось вільних клавіш із усіма модами, які я використовую.

Навіть якщо ви могли створити ці "підроблені клавіші", як би ви використовували їх у грі, якщо вони не є на фактичній клавіатурі?

Відмінне запитання .
Моя клавіатура - це Logitech G910 Orion Spark, на якому 27 макросів. Я припускаю, що я можу встановити кожен із цих макросів для виклику підроблених кнопок клавіатури під час використання.

Це, мабуть, надзвичайно заплутано для читання, але я зробив все можливе.

Windows 10 Pro (x64)


1
Це цікава головоломка ...
wogsland

я можу запропонувати придбати клавіатуру зі спеціальними клавішами, ви можете їх отримати. приклад; amazon.co.uk/Programmable-aLLreLi-Mechanical-Keyboard-Gameboard/…
Роберт Пуендер

1
Додані вами малюнки НЕ є стандартними американськими клавіатурами. Я не можу повірити, що ти отримав найосновнішу частину цього ПЕЧЕННЯ. Стандартною клавіатурою є сумісна з IBM-ПК клавіатура - це в основному настільна клавіатура з двома клавішами WINDOWS. Ви зобразили тут власну клавіатуру Apple. Це НЕ стандартна клавіатура. Ви повинні це виправити; Ваше питання зараз абсолютно не має сенсу, оскільки ви запитували про стандартні клавіатури, а потім включали діаграми нестандартних клавіатур. Вам буде краще видалити ці зображення, якщо ви справді
запитаєте

Відповіді:


15

Коли ви натискаєте клавішу на клавіатурі, апаратне забезпечення генерує "код сканування", який програмне забезпечення інтерпретується як певне натискання клавіші.

Переназначення ключа

KeyTweak дозволяє повторно призначити натискання клавіш, яке Windows інтерпретує з кожного коду сканування, додаючи відповідні записи реєстру.

На жаль, це не дозволяє додавати додаткові підроблені клавіші. Найближче це дозволяє перепризначити клавіші управління медіа / веб-сторінками, які мають деякі клавіатури. Він також не дозволяє призначити ключові коди, якими клавіатура зазвичай не користується. Отже, якщо у вас є клавіатура США, вона не дозволить призначити Ó або £. Тож ви все одно обмежуєтесь використанням звичайних букв ключів, які, за вашими словами, вичерпали.

Підробляючи це

AutoHotkey дозволяє коди сканування та незвичайні символи створювати скрипти.

Цей сценарій генерує £ щоразу, коли натискається Win + p (я зняв символ з Інтернету та вставив його в текстовий редактор, який використовував для створення сценарію):

#p::
send, £

Залежно від вашої гри, ви можете використовувати такий сценарій, щоб отримати £ як ключ у вашій грі. Але, якщо гра чекає фактичних кодів сканування клавіатури, які будуть створені, це не працюватиме. Це залежить від того, як гра взаємодіє з обладнанням.

На щастя, AutoHotkey також може генерувати коди сканування клавіатури. Цей скрипт генерує пробіл при натисканні клавіші Win + p, оскільки код сканування 39 (шістнадцятковий) - це простір (див. Список сканованих кодів ).

#p::
send, {sc39}

AutoHotkey також має інший метод генерації віртуальних ключів. Я не досліджував різницю, але цей скрипт створить простір за допомогою віртуальної клавіші при натисканні клавіші win + p:

#p::
send, {vk20}

У цій довідці перераховані всі коди віртуального ключа, включаючи багато нестандартних ключів, які ви ще не використовували: https://autohotkey.com/board/topic/98757-how-to-create-a-new-virtual- ключі /

Ви можете спробувати створити сценарій, який надсилає вашій грі нестандартний віртуальний ключ. Якщо гра зареєструє її і дозволить зберегти її на сторінці налаштування клавіатури, ви, ймовірно, змусите це працювати.

Останній фрагмент головоломки - це отримання макросів Logitech для виклику сценарію AutoHotkey, який генерує віртуальний ключ. Ви б створили сценарій AutoHotkey без гарячої клавіші, тому він запускається прямо під час запуску - наприклад,

send, {vk7B}

або

send, £

Пов’яжіть * .ahk файли з програмою Autohotkey, а потім отримайте макрос Logitech, щоб відкрити збережений сценарій.

Примітка. Я не перевіряв цього в жодних іграх. Ймовірно, це буде мати різні результати в різних іграх - залежно від того, що вони приймаються як дійсні записи. У посиланні "Віртуальні ключі" вище, люди обговорюють те, що роблять практично саме те, що ви хочете зробити, і, здається, мали певний успіх у використанні клавіш F13-F24, тому, можливо, спробуйте їх спочатку.

vk7B    sc58    F12
vk7C    sc64    F13
vk7D    sc65    F14
vk7E    sc66    F15
vk7F    sc67    F16
vk80    sc68    F17
vk81    sc69    F18
vk82    sc6A    F19
vk83    sc6B    F20
vk84    sc6C    F21
vk85    sc6D    F22
vk86    sc6E    F23
vk87    sc76    F24

EDIT: Відповідно до вимог у коментарях; простий сценарій для створення F13 може виглядати так:

b::
send, {vk7C}

Щоразу, коли ви натискаєте "b", поки цей сценарій активний (у вашому лотку біля годинника), F13 буде відправлено. Цей сценарій залишатиметься активним і працюватиме кожного разу, коли ви натискаєте "b", поки не вб'єте його. Після того, як гра зареєструє F13 у налаштуваннях ключів, вбийте цей сценарій і зробіть такий, як цей Logitech для виклику:

send, {vk7C}

Цей не залишатиметься активним, він запускається один раз, а потім закінчується, кожного разу, коли він викликається.


Це виглядає як саме те, що мені потрібно. Однак я повністю програний у програмі. Я створив файл .AHK. Перший рядок говорить #p ::, а другий говорить send, £ Це повинно працювати, правда? Або я щось зовсім пропускаю. Якщо можливо, ви могли б надати зразок сценарію? Щось на зразок сценарію, який повідомляє комп’ютеру кожного разу, коли натискається WIN-F1, щоб зареєструватись як F13, замість цього мені було б достатньо для складання. Дякую тонну :)
Josh Silveous

Довідка AutoHotKey (AutoHotkey.chm у папці програми) досить гарна. Запис функції "Відправити" та запис "HotKey" - це обидва значення. Я також оновлю відповідь, щоб включити win-F1 -> F13.
Сер Аделаїда

Якщо KeyTweak не дозволяє нові клавіші, але дозволяє вам переміщувати їх, чи можете ви отримати 1 додатковий віртуальний ключ, взявши макет Великобританії та переміщуючи клавіші, щоб відповідати макеті США?
user1937198

Однак є клавіші, які не з'являються на більшості клавіатур, наприклад, F24 , як використовується Том Скотт для своєї клавіатури смайлів і Таран з Linus Tech Tips для своїх макросів відеоредактора.
TRiG

1

Вибачення за пізню відповідь. У мене з’явилася потреба отримати доступ до функціональних клавіш минулого F12. Щось, здається, нинішні виробники клавіатур не враховують, але досить легко за допомогою AutoHotkey. Я використовував це для додавання цих натискань клавіш як макросів до миші, яка не підтримує додавання довільних ключів інакше.

z::
send, {F13}
return

x::
send, {F14}
return

c::
send, {F15}
return

v::
send, {F16}
return

b::
send, {F17}
return

n::
send, {F18}
return

m::
send, {F19}
return

l::
send, {F20}
return

k::
send, {F21}
return

j::
send, {F22}
return

h::
send, {F23}
return

g::
send, {F24}
return
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.