ฉันไม่เชื่อว่าสิ่งที่คุณต้องการจะเป็นไปได้หาก Karabiner ไม่สามารถทำได้
เหตุผลที่เรามีกุญแจปรับปรุง (เช่นcontrol, option, shiftและcommand) คือการที่พวกเขาจำเป็นต้องปรับเปลี่ยนปุ่มตัวเลขและมาตรฐานเพื่อให้พวกเขาได้รับการยอมรับเป็นอย่างอื่นนอกเหนือจากค่าตัวอักษรและตัวเลขของพวกเขา ให้ฉันอธิบายเพิ่มเติมนี้:
- เมื่อกดปุ่มตัวอักษรและตัวเลขอินพุตของมันจะถูกส่งไปยังแอปพลิเคชั่นที่เปิดใช้งานสุด ดังนั้นหากคุณเปิด MS Word และการใช้แป้นพิมพ์ลัดตัวอย่างแรก: 1+ 0การกดปุ่มเหล่านี้จะได้รับการยอมรับโดย MS Word เป็น '1' และ '0' ตามลำดับยกเว้นว่ามีการแก้ไขค่าของพวกเขา (เช่นโดยตัวปรับเปลี่ยนคีย์) .
- แต่สิ่งที่คุณต้องการทำอย่างมีประสิทธิภาพโดยใช้ตัวอย่างแป้นพิมพ์ลัดแรกของคุณ: 1+ 0อีกครั้งเป็นตัวอย่างคือใช้1ปุ่มเป็นคีย์ตัวดัดแปลงและ / หรือความจริงที่ว่าทั้งสอง1และ0ปุ่มถ้ากดพร้อมกันแสดงสิ่งที่แตกต่าง '1' และ '0'
- ตอนนี้คุณสามารถดูสาเหตุที่ทำให้เกิดปัญหาได้: หาก1คีย์ทำหน้าที่เป็นคีย์ตัวดัดแปลงคุณจะทำให้แอพที่ใช้งานอยู่รับรู้ '1' เมื่อคุณต้องการใช้งานได้อย่างไร หรือหากคุณต้องการให้มันทำงานเฉพาะเมื่อกดปุ่ม1+ 0พร้อมกันจะเกิดอะไรขึ้นถ้ากดปุ่มใดปุ่มหนึ่งก่อนหน้าคีย์อื่นเล็กน้อย ไม่พร้อมกันดังนั้นข้อมูลของคุณจะถูกทำให้เมาขึ้น (เพื่อพูด)
- ดังนั้นเพื่อให้สิ่งนี้ใช้งานได้ Karabiner (หรือยูทิลิตี้อื่น ๆ ) จะต้องฉลาดพอที่จะจัดการกับปริศนานี้ได้ ดังที่ Thomas Tempelmann กล่าวถึงในความคิดเห็นด้านล่างวิธีหนึ่งในการทำเช่นนี้คือการเพิ่มความล่าช้าหลังจากการกดปุ่มเพื่อให้แอปพลิเคชันส่วนหน้ายังจำคีย์ไม่ได้ แต่แน่นอนว่าความล่าช้าใด ๆ นั้นจะต้องสั้นมาก (เชื่อฉัน - แม้แต่ความล่าช้าเล็กน้อยที่แยกจากกันในบางสิ่งอาจทำให้ผู้ใช้รู้สึกว่าระบบไม่ตอบสนอง)
คุณอาจต้องการอ้างอิงถึง: macOS Human Interface Guidelines - แป้นพิมพ์ลัดเพื่อความเข้าใจที่ดีขึ้นเกี่ยวกับแนวทางของ Apple สำหรับนักพัฒนาในเรื่องนี้
เมื่อนักพัฒนาสร้างเกมและใช้คีย์เพื่อจุดประสงค์เฉพาะ (เช่นZปุ่มย้ายตัวอักษรไปทางซ้าย) เกมยังคงจดจำZคีย์เป็น 'Z' แต่เพิ่งได้รับการตั้งโปรแกรมให้ยอมรับค่า 'Z' ตามความหมายของตัวละครย้ายไปทางซ้าย
ซอฟต์แวร์ใด ๆ ที่ดูเหมือนจะเปลี่ยนการกระทำของการกดปุ่ม (เช่นเกมที่อนุญาตให้คุณปรับแต่งการควบคุมของคุณหรือยูทิลิตี้เช่น USB Overdrive, ControllerMate ฯลฯ ) ยังคงยอมรับค่าคีย์เริ่มต้นแทนที่จะต้องปรับเปลี่ยนพวกเขา พวกเขาบรรลุหน้าที่ของพวกเขา
ตัวอย่างเช่นผู้ใช้สามารถใช้ USB Overdrive เพื่อแมปคีย์ (สมมติว่าTปุ่ม) กับฟังก์ชั่นเฉพาะที่มีหรือไม่มีการใช้คีย์ตัวดัดแปลง แต่เมื่อพวกเขาถูกใช้โดยไม่มีคีย์ตัวปรับพวกเขายังคงได้รับการยอมรับว่ามี อินพุตดั้งเดิมของพวกเขา ดังนั้นฉันไม่คิดว่าพวกเขาจะเป็นประโยชน์กับคุณเช่นกันและแน่นอนพวกเขาไม่ได้ออกแบบมาเพื่อสร้างแป้นพิมพ์ลัดต่อ อย่างไรก็ตามคุณสามารถตรวจสอบพวกเขาได้ (สามารถทดลองใช้ได้ฟรี) ในกรณีที่คุณสามารถหลอกให้พวกเขาทำสิ่งที่คุณต้องการ:
หมายเหตุ:
- ฉันใช้ทั้ง USB Overdrive และ ControllerMate แต่ไม่มีความเกี่ยวข้องใด ๆ กับพวกเขา
- สำหรับสิ่งที่คุ้มค่า ControllerMate เสนอฟังก์ชั่นขั้นสูงมากขึ้น (แต่มันยากที่จะต้นแบบ)
- คุณอาจต้องการติดต่อฝ่ายสนับสนุนของ Karabinerหรือส่งอีเมลถึงผู้พัฒนาเพราะฉันคิดว่านี่เป็นทางออกที่ดีที่สุดของคุณและอาจทำสิ่งที่คุณต้องการได้