จะทำการแมปคีย์ใหม่ด้วย shift และ alt modifier โดยใช้ xmodmap ได้อย่างไร?


9

ฉันต้องการที่จะใส่มีพฤติกรรมดังต่อไปนี้สำหรับคีย์ด้วยรหัส 94:

1) โดยค่าเริ่มต้นมันคือ '<'

2) พร้อม shift มันคือ '>'

3) ด้วย alt มันคือ '|'

ฉันจัดการเพื่อรับค่าเริ่มต้นและเปลี่ยนพฤติกรรมโดยใช้คำสั่ง (ชื่อมาจากxev):

xmodmap -e "keycode 94 = less greater"

ฉันลองสามสิ่งกับพฤติกรรมทั้งหมด:

1)

xmodmap -e "keycode 94 mod1 = less greater bar"

2)

xmodmap -e "keycode 94 shift mod1 = less greater bar"

3)

xmodmap -e "keycode 94 = less greater"
xmodmap -e "add mod1 = less bar"

สองคนแรกเพิ่มผลของการมี '<' โดยค่าเริ่มต้นและ '|' พร้อมกะ ฉันไม่แน่ใจว่าสิ่งที่สามทำ

ฉันยังมีพฤติกรรมเช่นเดียวกับใน 1) และ 2) (การเปลี่ยนแปลงมีความเกี่ยวข้อง, alt ไม่ทำอะไรเลย) จากคำสั่ง:

xmodmap -e "keycode 94 mod1 = less bar"

ข้อมูลของฉันส่วนใหญ่จะขึ้นอยู่กับคำตอบนี้ (โดยเฉพาะส่วนโบนัส)

วิธีแมปคีย์เดี่ยวเพื่อให้มีค่าเริ่มต้นการเปลี่ยนแปลงและพฤติกรรมที่แตกต่างกันตามตัวดัดแปลง


1
บางทีaskubuntu.com/a/423245/16395สามารถช่วยคุณได้ ประกาศที่xmodmapไม่แนะนำอีกต่อไปใน Ubuntu คุณควรใช้ระบบ xkbd ที่ทรงพลังยิ่งขึ้น (แต่ซับซ้อนกว่านี้มาก) ... คุณสามารถค้นหาลิงก์ในคำตอบที่ลิงก์ไว้ที่นี่
Rmano

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

1
น่าเสียดายที่ฉันไม่สามารถลงคะแนนได้ (ฉันมีชื่อเสียง 11 แต่จำเป็นต้องมี 15 ข้อ)
user1335014

คำตอบ:


6

เพิ่งค้นพบ heuristically! ดูที่ต่อไปนี้:

xmodmap -e "keycode 38 = a A aacute Aacute ae AE ae"

มันเป็นพื้น

  1. a: ปกติ
  2. A: shift + a
  3. á: altgr + a
  4. Á: shift + altgr + a
  5. æ: [ชุดค่าผสมบางตัว] + a
  6. Æ: shift + [ชุดค่าผสมตัวแก้ไขบางตัว] + a
  7. æ: ???

ดังนั้นเพียงแค่กำหนดค่าคีย์ใหม่ด้วยการรับรองที่คุณต้องการ ตัวอย่างเช่นฉันกำหนดใหม่ช่วง + altgr เพื่อ interpunct (บิตสมควรแม้ว่า):

xmodmap -e "keycode 60 = period greater 0x00b7 0x00b7 0x00b7 0x00b7"    

ค่อนข้างเก่า แต่คุณจะเลือก / หาตัวดัดแปลงที่เปิดใช้งาน 5 และ 6 ได้อย่างไร? ฉันไม่สามารถเรียกมันได้
Fogx
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.