มีโปรแกรมที่ช่วยให้คุณสร้างแป้นพิมพ์ลัดที่ประกอบด้วยปุ่มปกติหรือไม่?


6

ฉันกำลังมองหาวิธีที่จะทำให้ฉันสามารถเปลี่ยนชุดค่าผสมคีย์ที่กำหนดเองและไม่เป็นมาตรฐานให้เป็นคีย์ตัวกลางที่ไม่ได้ใช้ในปัจจุบัน (เช่นF16หรือบางสิ่งบางอย่าง) จากนั้นคีย์ตัวกลางจะสามารถจดจำได้ในแอปพลิเคชันอื่น (เช่น FastScripts) ดังนั้นในที่สุดฉันก็สามารถกำหนดแป้นพิมพ์ลัดนี้ให้กับการกระทำใด ๆ ภายในแอปพลิเคชันที่ฉันต้องการ

โดย "คีย์ผสมที่ไม่เป็นมาตรฐาน" ผมหมายถึงการรวมกันที่ไม่ได้รวมการปรับเปลี่ยนคีย์ใด ๆ (ที่อยู่, ⌘ command, ⌥ option, ⌃ control, fnหรือ⇧ shift)

ตัวอย่างของคีย์ผสมที่ไม่เป็นมาตรฐานกดพร้อมกัน:

  • 1 + 0

  • A + D

  • space bar + V

  • W + 5

  • tab + Q

ฉันได้ติดตั้งKarabinerแล้ว แต่ฉันไม่เห็นวิธีที่จะทำให้สำเร็จใน Karabiner

มีโปรแกรมใดบ้างที่สามารถทำสิ่งที่ฉันกำลังมองหา?

OS X El Capitan เวอร์ชัน 10.11.6


บางทีลำดับที่สำคัญของ BTT อาจใช้งานได้ docs.bettertouchtool.net/docs/key_sequences.html
hyph

@hyph ที่น่าสนใจ ฉันไม่คุ้นเคยกับ BetterTouchTool คุณรู้หรือไม่ว่ามันจะใช้งานได้ก็ต่อเมื่อการกดปุ่มนั้นเกิดขึ้นตามลำดับหรือมันจะทำงานถ้าการกดปุ่มเกิดขึ้นพร้อมกัน?
ทรงกลมของรูบิค

ฉันคิดว่าฉันอ่านข้อกำหนดของคุณไม่ถูกต้อง คุณสามารถทริกเกอร์ลำดับเหล่านี้ด้วยช็อตคัตปกติ (พร้อมตัวดัดแปลง) ไม่ใช่วิธีอื่น ๆ
hyph

คำตอบ:


5

สิ่งนี้สามารถทำได้ใน Karabiner แต่ใช้งานง่ายและหันกลับมาใช้แป้นพิมพ์ทั่วไปคว่ำ (ตรวจสอบประโยคแรกของคำตอบของ Monomeeth)

ตัวอย่างสำหรับ [M + N] ถึง F13 มีให้ในที่ตั้งไว้ล่วงหน้าของ Karabiner แล้ว:

ป้อนคำอธิบายรูปภาพที่นี่

การแมป 1 + 0 ถึง F16 จะต้องเพิ่มข้อมูลต่อไปนี้ใน private.xml:

<item>
  <name>Simultaneous Key Presses [0+1] to F16</name>
  <identifier>remap.simultaneouskeypresses_012f16</identifier>
  <autogen>__SimultaneousKeyPresses__ KeyCode::KEY_0, KeyCode::KEY_1, KeyCode::F16</autogen>
</item>

โดยการกำหนดคีย์ vk_lazy เพิ่มเติม (เช่น 0) ก็ควรจะสามารถกด 0 ครั้งแรกแล้ว 1 และขึ้นอยู่กับปุ่มแรกขึ้นส่ง F16 หรือเขียน01ซึ่งเป็นพฤติกรรมที่สะดวกสบายกว่าการพิมพ์ "ทางลัด" บนแป้นพิมพ์


ทางลัดของ Karabiner สามารถตั้งค่าได้ตามแอพหรือไม่?
hyph

1
@hyph แน่นอนว่าบางแอพถูกกำหนดไว้แล้วใน appdef.xml แต่คุณสามารถเพิ่มแอพอื่น ๆ ได้ หากต้องการ จำกัด "ทางลัด" ด้านบนไปยัง Excel เท่านั้นคุณจะต้องเพิ่ม<only>EXCEL</only>ในตัวอย่าง (มีการกำหนดไว้ล่วงหน้าใน Excel!)
klanomath

คุณสอนอะไรใหม่เกี่ยวกับคาราบิเนอร์ให้ฉันฟัง ฉันเคยเห็นทางลัด [M + N] ก่อนที่ฉันจะโพสต์ แต่ฉันคิดว่าผิดอย่างนี้การรวมกันที่คงที่นั้นเป็นทางลัดคีย์เดียวเท่านั้นที่ Karabiner สามารถสร้างได้ ฉันทดสอบทางลัดตัวอย่างทั้ง 5 จากโพสต์ต้นฉบับของฉันโดยใช้วิธีการของคุณและ Karabiner ทำงานได้อย่างไร้ที่ติ! ขอขอบคุณ! นอกจากนี้ฉันคิดว่าตอนนี้ฉันเห็นด้วยกับประโยคสุดท้ายของคุณ (ยิ่งฉันคิดเกี่ยวกับมัน) (หมายเหตุถึงตนเอง: ใส่รายการกำหนดเองแรกในบรรทัดด้านล่าง</root>เมื่อแก้ไขไฟล์ XML โปรดจำไว้ว่าเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
ทรงกลมของ rubik

นี่เป็นทางออกที่ดี ฉันชอบ Karabiner ที่ปรับแต่งได้อย่างชัดเจน!
Monomeeth

2

ฉันไม่เชื่อว่าสิ่งที่คุณต้องการจะเป็นไปได้หาก 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ปุ่ม) กับฟังก์ชั่นเฉพาะที่มีหรือไม่มีการใช้คีย์ตัวดัดแปลง แต่เมื่อพวกเขาถูกใช้โดยไม่มีคีย์ตัวปรับพวกเขายังคงได้รับการยอมรับว่ามี อินพุตดั้งเดิมของพวกเขา ดังนั้นฉันไม่คิดว่าพวกเขาจะเป็นประโยชน์กับคุณเช่นกันและแน่นอนพวกเขาไม่ได้ออกแบบมาเพื่อสร้างแป้นพิมพ์ลัดต่อ อย่างไรก็ตามคุณสามารถตรวจสอบพวกเขาได้ (สามารถทดลองใช้ได้ฟรี) ในกรณีที่คุณสามารถหลอกให้พวกเขาทำสิ่งที่คุณต้องการ:

หมายเหตุ:

  1. ฉันใช้ทั้ง USB Overdrive และ ControllerMate แต่ไม่มีความเกี่ยวข้องใด ๆ กับพวกเขา
  2. สำหรับสิ่งที่คุ้มค่า ControllerMate เสนอฟังก์ชั่นขั้นสูงมากขึ้น (แต่มันยากที่จะต้นแบบ)
  3. คุณอาจต้องการติดต่อฝ่ายสนับสนุนของ Karabinerหรือส่งอีเมลถึงผู้พัฒนาเพราะฉันคิดว่านี่เป็นทางออกที่ดีที่สุดของคุณและอาจทำสิ่งที่คุณต้องการได้

ในฐานะนักพัฒนาฉันพบว่าคำอธิบายของคุณสับสน จะไม่ชัดเจนกว่านี้หรือไม่ที่จะบอกว่าการใช้คีย์เช่น '0' และ '1' เนื่องจากตัวดัดแปลงสร้างปัญหาเพราะโดยปกติเมื่อคุณกดปุ่มดังกล่าวมันจะถูกส่งต่อไปยังแอปด้านหน้าเป็นคีย์พิมพ์ทันที ตอนนี้ถ้าคุณต้องการให้ 0 + 1 สร้างคีย์ที่แตกต่างกันคำถามคือสิ่งที่จะเกิดขึ้นถ้าคุณกด 0 ก่อนหน้า 1 เล็กน้อยจะรู้ได้อย่างไรว่า 1 จะตามมาเร็ว ๆ นี้และจะไม่บอกแอปด้านหน้าว่า 0 ถูกกด? คุณต้องการให้ปุ่มทั้งหมดล่าช้าตลอดเวลาเพื่อให้ทำงานได้หรือไม่ หากคุณสามารถจัดการกับมันมันอาจทำงานได้
โทมัสเทมเพล

@ThomasTempelmann คุณถูกต้องคำอธิบายของฉันไม่ชัดเจน ขอขอบคุณที่แจ้งให้ฉันทราบ :) โดยปกติฉันจะอัปเดตคำตอบของฉัน แต่เนื่องจากปรากฏว่า Klanomath ได้ให้คำอธิบายว่า OP สามารถทำสิ่งที่พวกเขาต้องการใช้ Karabiner ได้อย่างไรฉันจะลบคำตอบนี้ในไม่ช้าเนื่องจากฉันไม่คิดว่ามันจะเพิ่มคุณค่าใด ๆ ถ้าคุณไม่คิดอย่างอื่น
Monomeeth

@ klanomath แจ้งให้ฉันทราบถึงวิธีการบรรลุสิ่งที่ฉันต้องการใน Karabiner Karabiner ทำงานได้อย่างสมบูรณ์แบบสำหรับชุดคำสั่งผสมทุกครั้งที่ฉันโยนซึ่งยอดเยี่ยมมาก BTW เหตุผลที่ฉันต้องการความสามารถนี้เป็นเพราะความตั้งใจของฉันเพื่อความสะดวกในการใช้แป้นพิมพ์ลัดมือเดียว ฉันสามารถดำเนินการได้เร็วขึ้นและมีการพิจารณาน้อยลง การเปิดคีย์ทั่วไปทั้งหมดจะเพิ่มจำนวนของแป้นพิมพ์ลัดที่อยู่ติดหรือใกล้เคียงอย่างมากซึ่งฉันสามารถกำหนดได้ ฉันนำประเด็นของคุณเกี่ยวกับแนวคิดของคีย์ตัวดัดแปลง - ทางลัดที่มีคีย์ตัวดัดแปลงเป็นที่ต้องการ
ทรงกลมของรูบิค

@ThomasTempelmann คุณมีข้อกังวลที่สำคัญ สำหรับการใช้งานของฉันตราบใดที่เคอร์เซอร์ของฉันไม่ได้อยู่ในช่องข้อความเมื่อฉันมีทางลัด (เช่นการกดปุ่ม A + D หรือปุ่ม 1 + 0) พร้อมกันนั้นจะไม่มีผลข้างเคียง หากเป็นเช่นนั้นฉันจะต้องคลิกออกจากช่องข้อความก่อนดำเนินการ ตอนนี้ทางลัดที่เกี่ยวข้องกับแท็บหรือแถบพื้นที่มีปัญหามากกว่า แต่ฉันไม่ได้วางแผนที่จะใช้สิ่งเหล่านี้ พวกเขาเพียงทำหน้าที่เป็นตัวอย่างใน OP ของฉันของประเภทของสิ่งที่ฉันอยากจะทำ ฉันกำลังใช้แป้น w / ตัวอักษร / ตัวเลข / เครื่องหมายวรรคตอน แต่ใช่จุดที่สองของคุณเป็นจริงมาก
ทรงกลมของรูบิค

@Momeomeeth โปรดอย่าลบคำตอบ / ความคิดเห็นของคุณ
klanomath

-2

ฉันควรทำสิ่งที่คุณต้องการจะทำ


ยินดีต้อนรับสู่ถามที่แตกต่างกัน! เรากำลังพยายามหาคำตอบที่ดีที่สุดและคำตอบเหล่านั้นจะให้ข้อมูลว่าทำไมพวกเขาถึงดีที่สุด อธิบายว่าทำไมคุณคิดว่าคำตอบที่คุณให้ไว้จะช่วยแก้ปัญหาหรือดีกว่าคำตอบอื่น ๆ การให้ลิงก์เป็นข้อมูลสนับสนุนสามารถช่วย OP และอื่น ๆ ค้นหาข้อมูลเพิ่มเติมได้ด้วยตนเอง ดูวิธีการตอบเกี่ยวกับวิธีการให้คำตอบที่มีคุณภาพ
fsb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.