컴퓨터가 실제로 해석하는 "가짜 키"를 작성 하시겠습니까?


20

설명

자, 이것은 키보드의 일반적인 레이아웃 사진입니다.

내가 궁금한 점은 표준 키 이외의 키보드에서 추가 키를 에뮬레이트 할 수 있습니까? 예를 들어, 키보드에 FK1, FK2 및 FK3 이라는 3 개의 추가 키 가 있다고 생각하도록 컴퓨터를 속일 수 있습니다.

이 여분의 3 개의 키는 홈, 삽입, 페이지 위로 등의 문자 키가 아닙니다 .
기본적으로 무언가를 수행하도록 할당되지 않는 한 아무 것도 수행하지 않습니다. 예를 들어 프로그램에서 FK1 을 사용하도록 핫키를 설정하면 등록 할 수 있습니다.

왜?

물어봐서 다행입니다. 나는 ArmA 3 이라는 게임을 많이하며 게임에 익숙한 사람들은 키보드의 모든 키를 거의 사용한다는 것을 알고 있습니다.
이 게임에서 동료와 의사 소통하기 위해 TeamSpeak를 사용합니다. 팀 스피크 용 사운드 보드가 있으며 Alt-Tabing 및 클릭 대신 핫키를 사용하여 다른 사운드를 활성화 할 수 있기를 원하지만 ArmA에는 사용중인 모든 모드를 갖춘 무료 키가 거의 없습니다.

이러한 "가짜 키"를 만들 수 있다고해도 실제 키보드가 아닌 경우 게임 내에서 어떻게 사용합니까?

훌륭한 질문 입니다.
키보드는 27 개의 매크로가있는 Logitech G910 Orion Spark입니다. 사용 중에 가짜 키보드 버튼을 호출하도록 각 매크로를 설정할 수 있다고 가정합니다.

이것은 아마도 읽기가 매우 혼란 스럽지만 최선을 다했습니다.

Windows 10 Pro (x64)


1
이것은 흥미로운 수수께끼입니다.
wogsland

사용자 정의 키가있는 키보드를 구입하는 것이 좋습니다. 예; amazon.co.uk/Programmable-aLLreLi- 기계
Robert Pounder

1
포함 된 그림은 표준 미국 키보드가 아닙니다. 나는 당신이이 잘못된 것의 가장 기본적인 부분을 가지고 있다고 믿을 수 없다. 표준 키보드는 IBM-PC 호환 키보드이며 기본적으로 2 개의 WINDOWS 키가있는 풀 사이즈 데스크탑 키보드입니다. 여기 Apple 독점 키보드를 묘사했습니다. 그것은 표준 키보드가 아닙니다. 이 문제를 해결해야합니다. 표준 키보드에 대해 질문 한 다음 비표준 키보드 다이어그램을 포함했기 때문에 귀하의 질문은 지금 절대 의미가 없습니다. 표준 키보드에 대해 묻는다면 이미지를 제거하는 것이 좋습니다.
InterLinked

답변:


15

키보드에서 키를 누르면 하드웨어가 '스캔 코드'를 생성 한 다음 소프트웨어가 특정 키 누름으로 해석합니다.

키 재 할당

KeyTweak를 사용하면 적절한 레지스트리 항목을 추가하여 Windows가 각 스캔 코드에서 해석하는 키 누름을 다시 지정할 수 있습니다.

불행히도, 가짜 키를 더 추가 할 수 없습니다. 가장 가까운 것은 일부 키보드에있는 미디어 / 웹 컨트롤 키를 다시 할당하는 것입니다. 또한 키보드에서 일반적으로 사용하지 않는 키 코드를 할당 할 수 없습니다. 따라서 미국 키보드를 사용하는 경우 Ó 또는 £를 할당 할 수 없습니다. 따라서 여전히 일반 키 문자를 사용하는 것으로 제한됩니다.

가짜

오토 핫키 는 스캔 코드와 특이한 기호가 스크립트에 의해 생성되도록합니다.

이 스크립트는 Win + p를 누를 때마다 £를 생성합니다 (인터넷에서 기호를 가져 와서 스크립트를 작성하는 데 사용한 텍스트 편집기에 붙여 넣기).

#p::
send, £

게임에 따라 이와 같은 스크립트를 사용하여 게임에서 £를 키로 얻을 수 있습니다. 그러나 게임이 실제 키보드 스캔 코드가 생성되기를 기다리는 경우에는 작동하지 않습니다. 게임이 하드웨어와 상호 작용하는 방식에 따라 다릅니다.

다행히도 오토 핫키는 키보드 스캔 코드를 생성 할 수도 있습니다. 스캔 코드 39 (16 진)가 공백이므로이 스크립트는 Win + p를 누를 때 공백을 생성합니다 ( 스캔 코드 목록 참조 ).

#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

편집 : 의견 요청에 따라; F13을 만드는 간단한 스크립트는 다음과 같습니다.

b::
send, {vk7C}

이 스크립트가 활성화 된 동안 (시계 근처의 트레이에서) 'b'를 누를 때마다 F13이 전송됩니다. 이 스크립트는 죽일 때까지 'b'를 누를 때마다 활성화 상태로 유지됩니다. 게임이 키 설정에 F13을 등록하면이 스크립트를 종료하고 Logitech에서 다음과 같이 호출하십시오.

send, {vk7C}

이것은 활성화되지 않고 호출 될 때마다 한 번 실행 된 다음 종료됩니다.


이것은 내가 필요한 것 같습니다. 그러나 나는 프로그램에서 완전히 길을 잃었다. .AHK 파일을 만들었습니다. 첫 번째 줄은 #p :: 이고 두 번째 줄은 send 라고 말합니다 . 아니면 완전히 빠진 것이 있습니까? 가능하면 샘플 스크립트를 제공 할 수 있습니까? WIN-F1을 눌렀을 때마다 F13으로 등록 할 때마다 컴퓨터에 알려주는 스크립트와 같은 것이 대신에 충분합니다. 고마워 :)
Josh Silveous 5

AutoHotKey 도움말 (프로그램 폴더의 AutoHotkey.chm)은 꽤 좋습니다. 송신 기능의 항목과 핫키 항목은 모두 잘 읽습니다. 또한 win-F1-> F13을 포함하도록 답변을 업데이트합니다.
Adelaide 경

KeyTweak에서 새 키를 허용하지 않지만 이동할 수있는 경우 영국 레이아웃을 사용하고 미국 레이아웃과 일치하도록 키를 움직여서 추가 가상 키 1 개를 얻을 수 있습니까?
user1937198

그러나 Tom Scott 이 이모티콘 키보드 로 사용하고 Linus Tech Tips의 Taran이 비디오 편집기 매크로 로 사용하는 F24 와 같은 대부분의 키보드에는 나타나지 않는 키가 있습니다 .
TRiG

0

늦은 응답에 대한 사과드립니다. 현재 키보드 제조업체에서는 설명하지 않지만 AutoHotkey로는 쉽게 사용할 수있는 F12 이후의 기능 키에 액세스해야했습니다. 이 키 스트로크를 마우스에 매크로로 추가하여 임의의 키 추가를 지원하지 않습니다.

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.