วิธีรวมสามปุ่มเป็นฮอตคีย์กับ Autohotkey ได้อย่างไร


14

ฉันต้องการรวมCapsLock Alt kปุ่มต่าง ๆ ไว้ในปุ่มลัดเดียวเช่นนี้

CapsLock & !k:: Send !{Up}

วิธีนี้ใช้ไม่ได้เนื่องจาก Autohotkey ไม่อนุญาตให้มีการรวมกันของคีย์มากกว่าสองปุ่มยกเว้นคีย์ตัวปรับแต่ง

ค้นหาวิธีแก้ปัญหาฉันพบว่าการใช้รหัสสแกนทางด้านซ้ายอาจเป็นการแก้ไขเช่น:

SC035 & !k:: Send !{Up}

ฉันทดสอบโซลูชันนี้ด้วย แต่ก็ไม่ได้ทำงานอย่างถูกต้อง ในกรณีนี้การกดCapsLock+kทริกเกอร์ปุ่มลัด


(ใน AutoHotkey, Ctrl เป็น^เอแอลทีเป็น!คุณอาจชี้แจงที่หนึ่งที่คุณต้องการ..)
Bavi_H

ฉันแก้ไขข้อผิดพลาด
Mert Nuhoglu

คำตอบ:


13

แล้วเรื่องนี้ล่ะ

Capslock & k:: 
GetKeyState, state, Alt
if state = D
SendInput !{Up}
Return 

ขอขอบคุณ. มันใช้งานได้จริง แต่ตอนนี้มีความล่าช้าเล็กน้อยเมื่อใช้ CapsLock รวมกับคีย์เช่น "CapsLock & a :: =" ความล่าช้านี้อาจเกิดจากฟังก์ชัน GetKeyState ใช่ไหม
Mert Nuhoglu

ฉันทดสอบแล้ว แต่ไม่สามารถสร้างความล่าช้านี้ได้อีก สคริปต์ควรอยู่ในตัวเองและไม่ส่งผลต่อประสิทธิภาพของสคริปต์อื่น สคริปต์ที่มี GetKeyState เพื่อเพิ่มฮอตคีย์ที่สาม (เหมือนที่ฉันมีด้านบน) จะไม่ทำงานเหมือนกับสคริปต์ที่มีการตั้งค่าฮอตคีย์ปกติและอาจป้องกันไม่ให้สคริปต์ซ้ำเร็วตามปกติ หวังว่าจะช่วย
snitzr

3
ฉันชอบไวยากรณ์ที่กระชับมากกว่านี้และคิดว่าฉันจะแบ่งปันกับคุณ: ถ้าไม่ใช่ GetKeyState ("Alt", "P") ... ปรับเปลี่ยนตามความต้องการของคุณ ไชโย
Mario Awad
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.