สร้าง "คีย์ปลอม" ที่คอมพิวเตอร์ตีความว่าจริงหรือ


20

คำอธิบาย

เอาล่ะนี่คือรูปถ่ายของเลย์เอาต์ทั่วไปของคีย์บอร์ด

สิ่งที่ฉันสงสัยคือ: เป็นไปได้ไหมที่จะเลียนแบบแป้นพิเศษบนแป้นพิมพ์อื่นที่ไม่ใช่แป้นมาตรฐาน ตัวอย่างเช่นฉันสามารถหลอกคอมพิวเตอร์ของฉันให้คิดว่าแป้นพิมพ์ของฉันมีป้ายพิเศษ 3 ปุ่ม FK1, FK2 และ FK3

ปุ่มสามปุ่มพิเศษเหล่านี้จะไม่เป็นปุ่มตัวอักษรเช่นHome, Insert, Page up เป็นต้น
โดยทั่วไปแล้วพวกเขาจะไม่ทำอะไรเลยเว้นแต่ได้รับมอบหมายให้ทำอะไรบางอย่าง เช่นถ้าฉันตั้งค่าปุ่มลัดในโปรแกรมที่จะใช้ FK1มันจะลงทะเบียน

ทำไม?

ฉันดีใจที่คุณถาม ฉันเล่นเกมที่ชื่อว่าArmA 3มากและพวกคุณที่คุ้นเคยกับเกมรู้ว่ามันใช้หมดแล้วแทบทุกปุ่มบนแป้นพิมพ์
ในการสื่อสารกับเพื่อนของฉันในเกมนี้ฉันใช้ TeamSpeak ฉันมีซาวด์บอร์ดสำหรับ teamspeak และฉันต้องการที่จะสามารถเปิดใช้งานเสียงที่แตกต่างกันโดยใช้ปุ่มลัดแทนการกด tab และคลิก แต่แทบจะไม่มีคีย์ฟรีเหลืออยู่ใน ArmA พร้อมกับ mods ทั้งหมดที่ฉันใช้

แม้ว่าคุณจะสามารถสร้าง "คีย์ปลอม" เหล่านี้ได้คุณจะใช้มันอย่างไรในเกมหากพวกเขาไม่ได้ใช้แป้นพิมพ์จริง

คำถามที่ยอดเยี่ยมคำถามที่ดีเยี่ยม
แป้นพิมพ์ของฉันคือ Logitech G910 Orion Spark ซึ่งมีมาโคร 27 ตัว ฉันสมมติว่าฉันสามารถตั้งค่าแมโครเหล่านี้แต่ละอันให้เรียกใช้ปุ่มแป้นพิมพ์ปลอมระหว่างใช้งานได้

นี่อาจเป็นเรื่องที่สับสนอย่างยิ่งในการอ่าน แต่ฉันพยายามอย่างดีที่สุด

Windows 10 Pro (x64)


1
นี่เป็นปริศนาที่น่าสนใจ ...
wogsland

ฉันขอแนะนำให้ซื้อคีย์บอร์ดด้วยคีย์ที่กำหนดเองได้ไหม ตัวอย่าง; amazon.co.uk/Programmable-aLLreLi-Mechanical-Keyboard-Gameboard/…
Robert Pounder

1
รูปภาพที่คุณรวมมานั้นไม่ใช่คีย์บอร์ดมาตรฐานของสหรัฐอเมริกา ฉันไม่อยากเชื่อเลยว่าคุณจะได้รับส่วนพื้นฐานของข้อผิดพลาดนี้ แป้นพิมพ์มาตรฐานคือแป้นพิมพ์ที่เข้ากันได้กับ IBM-PC - โดยทั่วไปคือแป้นพิมพ์เดสก์ท็อปขนาดเต็มพร้อมปุ่ม WINDOWS สองปุ่ม คุณแสดงแป้นพิมพ์ที่เป็นกรรมสิทธิ์ของ Apple ที่นี่ นั่นไม่ใช่แป้นพิมพ์มาตรฐาน คุณควรแก้ไขสิ่งนี้; คำถามของคุณไม่มีเหตุผลอย่างแน่นอนตั้งแต่คุณถามเกี่ยวกับแป้นพิมพ์มาตรฐานจากนั้นรวมไดอะแกรมของแป้นพิมพ์ที่ไม่ได้มาตรฐาน คุณจะดีกว่าที่จะลบภาพเหล่านั้นถ้าคุณต้องการถามเกี่ยวกับคีย์บอร์ดมาตรฐาน
InterLinked

คำตอบ:


15

เมื่อคุณกดปุ่มบนแป้นพิมพ์ของคุณฮาร์ดแวร์จะสร้าง 'รหัสสแกน' ซึ่งซอฟต์แวร์จะตีความเป็นการกดปุ่มที่แน่นอน

การกำหนดคีย์ใหม่

KeyTweakช่วยให้คุณสามารถกำหนดแป้นกดที่ Windows ตีความจากแต่ละรหัสสแกนโดยเพิ่มรายการรีจิสทรีที่เหมาะสม

น่าเสียดายที่มันไม่อนุญาตให้คุณเพิ่มคีย์ปลอมเพิ่มเติม ที่ใกล้เคียงที่สุดที่ได้รับคืออนุญาตให้โอนคีย์ควบคุมสื่อ / เว็บที่แป้นพิมพ์บางตัวมี นอกจากนี้ยังไม่อนุญาตให้คุณกำหนดรหัสคีย์ที่แป้นพิมพ์ของคุณไม่ได้ใช้ตามปกติ ดังนั้นหากคุณมีคีย์บอร์ด US มันจะไม่อนุญาตให้คุณกำหนดÓหรือ£ ดังนั้นคุณจะยังคงถูก จำกัด ให้ใช้ตัวอักษรปุ่มปกติซึ่งคุณบอกว่าคุณอ่อนเพลีย

แกล้งทำมัน

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- https://autohotkey.com/board/topic/98757 กุญแจ /

คุณสามารถลองสร้างสคริปต์ที่ส่งคีย์เสมือนที่ไม่ได้มาตรฐานไปยังเกมของคุณ หากเกมลงทะเบียนและให้คุณบันทึกลงในหน้าตั้งค่าแป้นพิมพ์คุณอาจจะได้รับสิ่งนี้เพื่อใช้งานได้

ชิ้นส่วนสุดท้ายของตัวต่อปริศนาคือการให้มาโคร Logitech เรียกใช้สคริปต์ AutoHotkey ที่สร้างคีย์เสมือน คุณต้องการสร้างสคริปต์ AutoHotkey โดยไม่ใช้ปุ่มลัดดังนั้นจึงทำให้เกิดการยิงทันทีเมื่อทำงาน - เช่น

send, {vk7B}

หรือ

send, £

เชื่อมโยงไฟล์ * .ahk กับโปรแกรม Autohotkey แล้วรับแมโคร Logitech เพื่อเปิดสคริปต์ที่บันทึกไว้

หมายเหตุ: ฉันยังไม่ได้ทดสอบในเกมใด ๆ มันอาจจะมีผลลัพธ์ที่แตกต่างกันในเกมที่แตกต่างกัน - ขึ้นอยู่กับสิ่งที่พวกเขายอมรับว่าเป็นรายการที่ถูกต้อง ในลิงก์ Virtual Keys ด้านบนผู้คนกำลังคุยกันถึงการทำสิ่งที่คุณต้องการและดูเหมือนว่าจะประสบความสำเร็จในการใช้ปุ่ม 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 ::และอันที่สองบอกว่าส่ง£ที่ควรใช้ได้ใช่ไหม หรือฉันกำลังพลาดอะไรบางอย่างไปเลย หากเป็นไปได้คุณสามารถให้สคริปต์ตัวอย่างได้หรือไม่ บางอย่างเช่นสคริปต์ที่บอกคอมพิวเตอร์ทุกครั้งที่กด WIN-F1 เพื่อลงทะเบียนเป็น F13 แทนที่จะเพียงพอสำหรับฉันที่จะสร้าง ขอบคุณตัน :)
Josh Silveous

วิธีใช้ AutoHotKey (AutoHotkey.chm ในโฟลเดอร์โปรแกรม) ค่อนข้างดี รายการในฟังก์ชั่นส่งและรายการ HotKey เป็นทั้งการอ่านที่ดี ฉันจะอัปเดตคำตอบเพื่อรวม win-F1 -> F13
Sir Adelaide

หาก KeyTweak ไม่อนุญาตให้ใช้คีย์ใหม่ แต่อนุญาตให้คุณย้ายคีย์เหล่านั้นคุณจะได้รับคีย์เสมือนเพิ่มอีก 1 ตัวโดยการใช้เลย์เอาต์ของสหราชอาณาจักรและการย้ายคีย์เพื่อให้ตรงกับเลย์เอาต์ของสหรัฐอเมริกาหรือไม่
user1937198

อย่างไรก็ตามมีแป้นที่ไม่ปรากฏบนแป้นพิมพ์ส่วนใหญ่เช่นF24ตามที่Tom Scott ใช้สำหรับแป้นพิมพ์อิโมจิและโดยTaran จาก 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.