การจำลอง Numpad


15

แล็ปท็อปใหม่ของฉัน (Dell Inspiron 5578 ) มีไม่มีแผ่นที่เป็นตัวเลข แล็ปท็อปจำนวนมากที่ไม่มีคีย์เฉพาะของ Numpad สามารถเข้าถึงได้ผ่าน Numpad Fnแต่ไม่ใช่อันนี้ เมื่อฉันเรียกใช้xevและพยายามใช้Fnคอมโบแบบดั้งเดิม(เช่นFn+ Jสำหรับ1) จะไม่เห็นเหตุการณ์ใด ๆ และตัวเลขไม่ได้อยู่บนฉลาก

AFAIU ฉันไม่สามารถสร้างทางลัดด้วยFnปุ่มเพราะFnไม่ได้ถูกส่งไปยังระบบปฏิบัติการ แต่ในทางทฤษฎีฉันสามารถใช้Alt_L+ Super_Lแทน คำถามคือทำอย่างไรให้ถูกต้อง ฉันต้องการที่จะทำในระดับต่ำกว่ารูปแบบแป้นพิมพ์เพื่อให้ทำงานได้ดีกับ VMs ทั้งหมดแม้จะไม่ใช่ Linux ก็ตาม

สิ่งแวดล้อม: Qubes OS ส่วนโฮสต์ขึ้นอยู่กับ Fedora

ฉันพยายามแล้ว:

  • ผูกคำสั่ง xdotool ผ่านทางลัดคีย์ Xfce สิ่งนี้ก่อให้เกิดผลลัพธ์แปลก ๆ หลายอย่าง: คำสั่ง (คีย์ xdotool KP_1 และรูปแบบต่าง ๆ ) มักจะใช้งานได้ แต่ไม่ใช่เมื่อมีการเรียกใช้โดยทางลัด เมื่อเรียกใช้โดยทางลัดปัญหาอาจเป็นได้ว่ากดปุ่มตัวปรับเปลี่ยนในเวลานั้น ฉันได้ลองทำการดัดแปลงหลายอย่าง ( --clearmodifiers, การกดปุ่มสำหรับตัวดัดแปลง ฯลฯ ), ไม่มีการทำงานที่ดี
  • ทำเช่นเดียวกันกับ autokey ฉันได้รับ autokey ค้าง

ที่ไม่ใช่การแก้ปัญหา:

  • ใช้ numpad / แป้นพิมพ์ภายนอก: ในขณะที่ฉันมี numpad (เรียงลำดับ) บนแป้นพิมพ์ภายนอกของฉันฉันต้องการที่จะมีหนึ่งแม้ในหนึ่งภายในเช่นเมื่อเดินทางและเป็นไปไม่ได้หรืออย่างน้อยก็ไม่สบายใจที่จะใช้แป้นพิมพ์ภายนอก .
  • ใช้แถวหมายเลข: ในเค้าโครงเช็กแถวหมายเลขจะใช้เป็นตัวอักษรเน้นเสียงเป็นหลัก เลย์เอาต์ที่ฉันใช้ ( ตัวแปรพิเศษของ CShack ) ไม่มีตัวเลขใน“ แถวหมายเลข” เลย
  • ซื้อแล็ปท็อปเครื่องอื่น: เป็นการยากที่จะหาแล็ปท็อปที่ตรงกับความต้องการของฉัน

1
อ่านบนxkbเพิ่มระดับ Alt-L + Super-L แบบกำหนดเอง เรียกใช้evtestเพื่อค้นหาเหตุการณ์ Fn และหากไม่สามารถใช้งานได้ให้ดูที่ตัวอธิบาย HID และเหตุการณ์ HID ดิบ ดูdmesgเพื่อค้นหาอุปกรณ์ hid ที่เกี่ยวข้อง
dirkt

@dirkt การใช้ XKB ดูเหมือนจะกำหนดคีย์เลย์เอาต์ที่กำหนดเอง ซึ่งดีกว่าไม่มีอะไร แต่มันไม่ใช่ทางออกที่ต้องการเพราะฉันจะต้องทำเช่นเดียวกันสำหรับทุก VM (หรือ VM tempolates) และสิ่งนี้จะไม่ทำงานภายใต้ VM ที่ไม่ใช่ Linux ฉันจะลอง evtest แต่ฉันไม่แน่ใจว่ามันจะทำงานกับแป้นพิมพ์ที่ใช้งานอยู่หรือไม่
v6ak

คุณแนบ Alt_L + Super_L แล้วหรือยัง คุณสามารถใช้ AltGr หรือ Shift + AltGr ด้วยxmodmap(1)
Fox

หาก VM ของคุณ (อันใด) ไม่ส่งผ่านเหตุการณ์ X แต่ยืนยันบนแป้นพิมพ์โดยตรง passthrough คุณอาจปลอมแป้นพิมพ์ด้วยการสร้าง/dev/input/eventXแหล่งที่มาของคุณเองหรือ HID นี้จะต้องมีการเขียนโปรแกรม แต่ถ้ามันทำงานร่วมกับxdotoolมันควรจะทำงานร่วมกับหรือxkb xmodmapและใช่การกำหนดคีย์เดียวให้กับ Mode_Switch หรือ ISO_Level3_Shift (โดยค่าเริ่มต้น AltGr) จะง่ายขึ้น
dirkt

1
ปัญหาเกี่ยวกับ AltGr หรือ AltGr + Shift คือมีการใช้งานแล้ว ฉันไม่ยืนยันใน Alt_L + Super_L แต่มันก็เป็นตัวเลือกที่ดีที่สุด: พวกมันอยู่ติดกันบนแป้นพิมพ์ภายในและมีโอกาสเล็กน้อยที่จะซ่อนแป้นพิมพ์ลัดบางอย่าง และพวกเขาสามารถกดด้วยมือซ้าย ดังนั้นมันจึงดูเหมือนว่าการรวมกันที่เหมาะที่สุด
v6ak

คำตอบ:


0

ฉันคิดว่าวิธีที่ถูกต้องที่จะไปที่นี่คือการสร้างเค้าโครงแป้นพิมพ์ของคุณเอง แน่นอนคุณจะต้องทำเช่นนั้นสำหรับทุก VM และทุกระบบปฏิบัติการ แต่คุณต้องปรับใช้บน VM แม่แบบของคุณ

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

(หรือแค่วางเลย์เอาท์ปัจจุบันของคุณแล้วลองneo2มันเหมาะสำหรับชาวเยอรมัน แต่เลย์เอาต์โดยทั่วไปนั้นยอดเยี่ยมมากและคุณได้รับการสนับสนุนจากกล่องบน linux และการใช้ออโต้ช็อต autohotkey ที่ดีมากฉันใช้มันมาหลายปี ข้อเสียที่ใหญ่ที่สุดคือเลย์เอาต์นั้นแปลกใหม่คุณมักจะต้องปรับแต่งช็อตคัตในโปรแกรมเพื่อให้สามารถใช้งานได้อีกครั้งเช่น hjkl in vim นั้นถูกทำให้ยุ่งเหยิงโดยสิ้นเชิง)


ฉันสร้างเลย์เอาต์ที่กำหนดเอง แต่ก็ยังไม่สมบูรณ์ มันจะไม่สมบูรณ์แม้ว่าจะมีรุ่น Windows การติดตั้งไปยัง templateVM ไม่ใช่ปัญหา แต่เครื่องอื่นนั้นยุ่งยาก ก่อนอื่น RDP ไม่เคารพเค้าโครงแป้นพิมพ์ท้องถิ่นของฉัน ประการที่สองเป็นค่าใช้จ่ายสำหรับ VMs Windows ที่มีอายุสั้น ๆ (เช่น IE VMS)
v6ak

@ v6ak VMs ที่มีอายุสั้น ๆ ควรสืบทอดการตั้งค่าเทมเพลตเพื่อไม่ให้มีปัญหา
แฟรงคลิน

นี่เป็นความจริงสำหรับ VM ที่ใช้เทมเพลต แต่ไม่ใช่สำหรับ VM ที่คุณเพิ่งดาวน์โหลด และไม่ใช่สำหรับ VMs ระยะไกลที่คุณไม่ได้จัดการ ฉันค่อนข้างโอเคกับเลย์เอาต์มาตรฐานของสหรัฐอเมริกา (เมื่อฉันไม่ต้องการกำกับเสียงมันเข้ากันได้กับ CShack เป็นส่วนใหญ่) แต่การใช้หมายเลขแถวนั้นไม่ค่อยเป็นธรรมชาติสำหรับฉัน
v6ak
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.