ฉันจะแมป Super + UpArrow กับ PageUp ได้อย่างไร


12

ฉันต้องการทำแผนที่

  • Super+ UpArrowถึงPageUp

  • Super+ DownArrowถึงPageDown

  • Super+ LeftถึงHome

  • Super+ RightถึงEnd

บนคีย์บอร์ดไร้สายของ Apple อลูมิเนียม ผู้ที่รู้ว่าแป้นพิมพ์จะทราบว่ามันทำสิ่งเหล่านี้พร้อมกับFnปุ่มตามค่าเริ่มต้น; ไม่เป็นไรและฉันต้องการที่จะเก็บไว้ แต่สามารถทำเช่นเดียวกันกับการรวมกันของคีย์มือเดียวเช่นกันดังนั้นฉันต้องการSuperแมป

ฉันได้ค้นหาวิธีที่เป็นไปได้ในการทำเช่นนี้ผ่าน xmodmap เป็นเวลา 3 ชั่วโมง แต่ก็ไม่มีอะไรทำงาน

คำตอบ:


5

ลองแก้ไข / usr / share / X11 / xkb / symbols / คำจำกัดความแป้นพิมพ์ของพีซี

(สิ่งนี้จะเปลี่ยนการเชื่อมโยงของคุณทั่วโลกหากคุณต้องการสิ่งที่ปรับได้ดีขึ้นมีงานให้ทำอีกมากมายเช่นการสร้าง keymap ที่กำหนดเองหรือตัวแปรที่กำหนดเอง)

อย่างที่คุณเห็นนี่

คีย์ {[ก่อนหน้า]};
สำคัญ {[ถัดไป]};

ในขณะที่คุณสามารถเห็นคีย์ PGUP ถูกผูกไว้กับ "ก่อนหน้า" ในขณะที่:

 คีย์ {[ซ้าย]};
 คีย์ {[ลง]};

ปุ่มซ้ายและลงถูกผูกไว้กับ "ซ้าย" และ "ลง"

ส่วนระหว่างวงเล็บ[ ]คือรายการสัญลักษณ์ที่จะสร้าง คุณสามารถใส่มากกว่าหนึ่ง สิ่งแรกคือสัญลักษณ์ที่เกี่ยวข้องกับกุญแจที่ไม่ได้แก้ไขในขณะที่ตำแหน่งอื่น ๆ สำหรับสัญลักษณ์ที่เกี่ยวข้องกับแป้น + ตัวดัดแปลงบางอย่าง

โดยทั่วไปจะใช้เพื่อกำหนดลักษณะการทำงานของคีย์รวมถึงตัวปรับแต่ง "SHIFT":

  คีย์ {[l, L]};
  คีย์ {[เซมิโคลอน, โคลอน]};

แต่ยังสามารถระบุตัวดัดแปลงอื่น ๆ ได้เช่นในแผนที่ภาษา (epo):

  คีย์ {[jcircumflex, Jcircumflex, bracketleft, braceleft]};
  สำคัญ {[hcircumflex, Hcircumflex, bracketright, braceright]};

คุณสามารถพิมพ์ [อักขระได้โดยพิมพ์ปุ่ม AltGr + (ปุ่ม [บนคีย์แพดเรา) และ {โดย Shift + AltGr + แป้น

จนถึงตอนนี้ดีมาก ลำดับที่เราสามารถเข้าใจได้จากการดูตัวอย่างง่ายๆคือ:

plain shift altgr shift+altgr


อย่างไรก็ตามเราต้องการที่จะผูกกุญแจซ้ายและขวาของเรากับตัวดัดแปลงธรรมดาและ CTRL + ALT ทำอย่างไรจึงจะบรรลุเป้าหมายนั้น?

ฉันไม่มีความคิดและไม่เคยลอง แต่ฉันใช้แรงบันดาลใจจาก / usr / share / X11 / xkb / symbols / pc:

xkb_symbols "ฟังก์ชั่น" {
    สำคัญ {
        พิมพ์ = "CTRL + ALT"
        สัญลักษณ์ [Group1] = [F1, XF86_Switch_VT_1]
    };

บางทีเราสามารถทำสิ่งเดียวกันสำหรับปุ่มลูกศรของเรา ลองเพิ่มบรรทัดต่อไปนี้:

 key {type = "CTRL + ALT", สัญลักษณ์ [Group1] = [ซ้าย, ก่อนหน้า]};
 key {type = "CTRL + ALT", สัญลักษณ์ [Group1] = [ลง, ต่อไป]}};

ด้านล่างคำจำกัดความดั้งเดิมของ LEFT และ DOWN ในส่วนล่างของไฟล์ 'pc'

จากนั้นรีสตาร์ทเซิร์ฟเวอร์ X ขออภัยฉันไม่สามารถปิดเซสชันของฉันในขณะนี้เพื่อทดสอบ

BTW คุณอาจสนใจhttp://code.google.com/p/partiwm/wiki/xpraเพื่อให้คุณสามารถเริ่มต้นเซสชัน X ใหม่อีกครั้งและยังคงรักษาแอปพลิเคชันบางตัวตลอดการรีสตาร์ท


น่าเสียดายที่นี่ไม่ได้ผลเหมือนกัน ฉันเปลี่ยน "CTRL + ALT" ของคุณเป็น SUPER_R, SUPER, META เนื่องจากฉันต้องการแมปคีย์ Super ที่ถูกต้องไม่ใช่ CTRL + ALT (ซึ่งก็ใช้ไม่ได้) ฉันลองเพิ่มตัวระบุหลังส่วน "คีย์" (เช่น <PGUP>) ซึ่งฉันคิดว่าหายไป แต่ก็ไม่แตกต่างกัน
guest442

4

ฉันได้ลองสิ่งที่คล้ายกันโดยใช้ xmodmap และ cognates และไม่ประสบความสำเร็จ ลองร่วมกับxbindkeys xdotoolนี่คือสิ่งที่ฉันใส่ใน~/.xbindkeysrcการผูกปุ่มกดตัวเลข 1 และ 2 ถึงCtrl- PageUpและCtrl- PageDown:

"xdotool key ctrl+Prior" 
  Release + KP_End

"xdotool key ctrl+Next" 
  Release + KP_Down

ขอบคุณ; ฉันลองเหมือนกัน แต่ดูเหมือนจะไม่ทำงาน Super + Down ดูเหมือนจะเปล่งอักขระ "~" ทุก ๆ ครั้งที่กดในเทอร์มินัล (PageDown ปกติทำเช่นนี้ด้วยดังนั้นมันทำให้ฉันคิดว่ามันใช้งานได้) แต่มันไม่ได้ทำ PageDown จริง ๆ
guest442

ฉันยังลอง xautomation และ xvkbd; พวกเขาทั้งสองล้มเหลวในลักษณะเดียวกัน ฉันแน่ใจว่าส่วน xbindkeys ใช้งานได้เนื่องจากฉันสามารถรับคีย์ผสมเพื่อเรียกใช้แอปอื่น ๆ และต่อไปได้ แต่การกดปุ่มเพียงแค่ไม่ได้รับการเลียนแบบ
guest442
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.