xmodmap ถาวรใน Ubuntu 13.04


72

ฉันไม่สามารถทำให้ xmodmap ทำงานในการเข้าสู่ระบบใน Ubuntu 13.04 ฉันค้นหารอบ ๆ รวมถึง askubuntu และคำตอบทั้งหมดที่ฉันพบว่าใช้งานไม่ได้

ฉันมีไฟล์ชื่อ. Xmodmap ในโฟลเดอร์บ้านของฉันซึ่งมีการแมปที่ต้องการ ถ้าฉันเรียกใช้ด้วยตนเองมันทำงานได้ดีดังนั้นจึงไม่มีข้อผิดพลาด เพื่อให้มันทำงานเมื่อเริ่มต้นฉันได้ลอง:

  1. ใช้หลากหลาย.xinitrcที่มีคำสั่งอย่างใดอย่างหนึ่งต่อไปนี้:

    • xmodmap .Xmodmap
    • xmodmap ~/.Xmodmap
    • /usr/bin/xmodmap /home/NAME/.Xmodmap
    • if [ -s ~/.Xmodmap ]; then
      xmodmap ~/.Xmodmap
      fi
  2. ใช้.Xresourcesแทน.xinitrcรูปแบบเดียวกัน

  3. ตั้งเป็นแอปพลิเคชันเริ่มต้น

ไม่สามารถใช้งานได้กับ Ubuntu 13.04 (64-bit) ฉันยังเห็นแนวคิดบางประการเกี่ยวกับการเปลี่ยนการแมปคีย์บอร์ดทั่วโลก แต่ส่วนใหญ่ไม่สามารถใช้ได้ใน Ubuntu 13.04 (เช่นไฟล์ที่เกี่ยวข้องไม่มีอยู่ในตำแหน่งที่ระบุ) และฉันไม่ต้องการสัมผัสการตั้งค่าทั่วโลก

คำตอบ:


81

Ubuntu ไม่ได้ใช้อีกต่อไปxmodmapแต่ใช้แทนxkb(เท่าที่ฉันเข้าใจสิ่งนี้จะอำนวยความสะดวกในการจัดวางแป้นพิมพ์แบบต่อหน้าต่างและอื่น ๆ )

ไฟล์แผนที่ทั้งระบบอยู่ใน

/usr/share/X11/xkb/symbols/

ดูเหมือนว่าแผนที่จะถูกโหลดตามลำดับชั้นโดยมีpcแผนที่เป็นรูทและภาษาใด ๆ (เช่นen) เป็นลูกของรูท

ในกรณีเฉพาะของฉันฉันสลับ Page Up กับ Home และ Page Down กับ End บนแป้นพิมพ์ของฉันดังนั้นฉันจึงทำการเปลี่ยนแปลงpcแผนที่ทั่วทั้งระบบอย่างคร่าวๆดังนี้:

 key <HOME> {    [  Prior        ]   };
 key <PGUP> {    [  Home         ]   };
 key  <END> {    [  Next         ]   };
 key <PGDN> {    [  End          ]   };

หมายเหตุ: ในการบังคับให้ Xorg ใช้แผนที่แป้นพิมพ์ใหม่คุณอาจต้องลบแผนที่ที่รวบรวมไว้ล่วงหน้า (* .xkm) ที่มีอยู่ใน

/var/lib/xkb/

จากนั้นรีสตาร์ท Xorg

มีแหล่งข้อมูลต่าง ๆ บนxkbแต่อันนี้เกี่ยวข้องกับอูบุนตู


9
ตั้งแต่ Ubuntu 14.04 นี่เป็นวิธีที่ง่ายที่สุดในการสลับคีย์ คุณสามารถทำให้ xmodmap ทำงานในการเข้าสู่ระบบได้โดยเพิ่มมันลงในแอปพลิเคชั่นเริ่มต้น แต่ถ้าคุณหยุดชั่วคราวจำศีล ฯลฯ คุณจะต้องเริ่มต้นด้วยตนเองหรือสร้างสคริปต์ daemon เริ่มต้น
holocronweaver

ฉันสามารถ remap unmodified shift altgr* shift+altgrคีย์ขึ้นอยู่กับการปรับเปลี่ยน: แต่สิ่งที่เกี่ยวleft altและsuper key?
Farzher

7
ฉันไม่คิดว่าประโยคแรกของคุณเป็นจริง คุณมีแหล่งข้อมูลใด ๆ หรือไม่ ผมพบว่ามันยากที่จะเชื่อว่า "วิธีที่อูบุนตู" xkbของแมปคีย์ของคุณจะได้รับการแก้ไขแผนที่แป้นพิมพ์จาก นอกจากจะเป็นความลับแล้วยังมีปัญหาที่แผนที่ที่กำหนดเองของคุณจะถูกลบเมื่อxkbมีการอัพเดท
Mateus Araújo

1
ที่กล่าวมานี้เป็นวิธีเดียวที่เชื่อถือได้ที่ฉันได้พบกับปุ่ม remapping บน Ubuntu
Mateus Araújo

1
จะต้องมีวิธีที่ดีกว่า ฉันรู้รหัสคีย์ที่แน่นอนที่ฉันต้องการแผนที่ แต่รหัส 217 ไม่ได้อยู่ในรายการ xkb ฉันไม่เห็นวิธีเพิ่มรหัสใหม่
Jonathan

13

สำหรับฉันการกำหนดค่า xkb นั้นซับซ้อนเกินไปหากคุณต้องการทำการแมปใหม่ 1 หรือ 2 ปุ่มในแบบที่ไม่สามารถใช้ได้ในการตั้งค่าระบบ นอกจากนี้โซลูชันควรอยู่ด้านผู้ใช้โดยไม่ต้องแก้ไข '/ usr / share / X11 / xkb / symbols /' เป็นต้นบังคับให้โหลด 'xmodmap ~ / .Xmodmap' โดยใช้แอปพลิเคชันเริ่มต้นจะทำงานจนกว่าคุณจะระงับเปลี่ยนผู้ใช้เท่านั้น หรือเปลี่ยนเค้าโครงแป้นพิมพ์ ดังนั้นตามที่ holocronweaver แนะนำด้วยโค้ดที่ฉันพบฉันได้สร้างสคริปต์ python ที่จะโหลดเมื่อเริ่มต้นเซสชันซึ่งจะโหลด '~ / .Xmodmap' ใหม่เมื่อจำเป็น

ตรวจสอบการรายงานข้อผิดพลาด # 1243642 (6 ความคิดเห็น #) และดาวน์โหลดได้ที่นี่


1
ยังคงทำงานตั้งแต่ 15.10 :-) ขอบคุณ!
lalomartins

ลิงก์ไปยังสคริปต์ในตำนานนี้ดูเหมือนจะใช้งานไม่ได้ มีใครบางคนใส่มันใน GitHub?
Epigene

ยอดเยี่ยม - และคำตอบเดียวเท่านั้น! ทำงานใน 16.04 เพื่อให้มันทำงานใน Python3 ได้เปลี่ยน: "import gobject" เป็น "จาก gi.repository import GObject as gobject"
Craig Hicks

1
@Epigene - ลิงค์มาถึงตอนนี้แล้ว
Craig Hicks

จงสรรเสริญ! อัจฉริยะทำงานรอบ ๆ
dmanexe

6

ผมมีปัญหานี้ในอูบุนตู 14.04 และพบว่าการแก้ปัญหาที่นี่ เห็นได้ชัดว่า Ubuntu ไม่สามารถกำหนดค่าแป้นพิมพ์ได้ทันทีหลังจากลงชื่อเข้าใช้ แต่จะช้ากว่านี้ ดังนั้นหากคุณเพิ่มคำสั่ง

sleep 4 && xmodmap ~/.Xmodmap &

ไป~/.bash_profileแล้วมันควรจะทำงาน (มันสำหรับฉัน)

แก้ไข: ดูเหมือนว่าจะใช้งานได้หลังจากลงชื่อเข้าใช้เท่านั้นไม่ใช่หลังจากเริ่มต้นใช้งาน ฉันจะต้องตรวจสอบเรื่องนี้ในภายหลัง


1
มีโชคใดที่ทำให้มันทำงานหลังจากหยุดชั่วคราว / จำศีล?
Jonathan

ไม่น่าเสียดายที่ฉันยังคงไม่สามารถใช้งานได้หลังจากบูทเครื่อง ดังนั้นทุกครั้งที่ฉันบู๊ตฉันจะเปิดเทอร์มินัลแล้วพิมพ์xmodmap ~/.Xmodmap:(
dremodaris เมื่อ

พึงระวังว่าใน Ubuntu 16.04 คุณควรใช้. profile
Vitor Abella

5

แปลงCaps Lockเข้ามาEscสำหรับvimการใช้งาน

นี่คือตัวแปรของสคริปต์เริ่มต้นการแมปคีย์ของฉัน มันจะแปลงCaps LockลงไปEscบนแป้นพิมพ์สิ่งที่สำหรับใช้กับvi, หรือvimgvim

ต่างจากคำตอบของq4w56คำตอบนี้ไม่ได้ใช้การwhile; doวนซ้ำไม่สิ้นสุด ไม่อย่างนั้นหนึ่งคอร์ของซีพียูดูอัลคอร์ของฉันก็จะได้ 42% ทุก ๆ 5 วินาทีซึ่งเป็นการลดการชาร์จแบตเตอรี่แล็ปท็อปของฉันลงอย่างรุนแรง

#!/usr/bin/env bash
sleep 4
xmodmap -e "clear Lock"
xmodmap -e "keysym Caps_Lock = Escape"

บันทึกเป็นสคริปต์ chmod +xทำให้ปฏิบัติการไฟล์ด้วย เพิ่มชื่อสคริปต์และที่ตั้งไปที่Session and Startup → Application Autostart(ใน Xubuntu)

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

เหตุผลสำหรับการแมปแป้นพิมพ์นี้

ในโลกของการคำนวณในปัจจุบันมีการใช้Caps Lockคีย์น้อยมาก โดยทั่วไปหนึ่งควรละเว้นจากการใช้ตัวพิมพ์ใหญ่ทั้งหมดโดยอาศัยอำนาจของทั้งสองNetiquetteและการแยกการนำเสนอและเนื้อหา ยิ่งไปกว่านั้นการกดปุ่มโดยไม่ตั้งใจCaps Lockขณะแก้ไขข้อความด้วยvimไม่ได้ถูกบันทึกไว้ในทันทีเสมอไป แต่จะส่งผลให้เกิดพฤติกรรมที่น่ารำคาญvimขึ้นเรื่อย ๆ การปิดใช้งานCaps Lockคีย์ทั้งหมดเข้าด้วยกันและวางตำแหน่งใหม่เป็นEscผลลัพธ์ที่สำคัญในการเข้าถึงได้อย่างง่ายดายด้วยการชนะสองครั้งสำหรับการvimใช้งาน


เปลี่ยนฟังก์ชั่นของCaps Lockที่สำคัญอาจจะประหยัดชีวิตจริงสำหรับvimผู้ใช้บนแอปเปิ้ล MacBooks โดยไม่ต้องEscคีย์
Serge Stroobandt

3
ดีกว่าที่จะทำการแมปไปcapslock ctrlวิธีนี้แก้ปัญหาได้อีกมากมายและในกลุ่มคุณสามารถใช้capslock+ [สำหรับEscขออภัยในการแทรกแซง แต่ฉันรู้สึกว่าจำเป็นต้องแนะนำสิ่งนี้
user907860

สิ่งที่ถูกระงับคืออะไร? การปิดฝาบนแล็ปท็อปของคุณหรือไม่ หลังจากนั้นโซลูชันของคุณไม่ทำงาน คุณใช้เสียงเรียกเข้าอย่างไรหลังจากปิดฝาแล็ปท็อปของคุณ?
Marko Avlijaš

@ MarkoAvlijaš How do you use vim after you close the lid on your laptop?โดยการเปิดฝาแน่นอน!
Serge Stroobandt

ฮ่าฮ่าฉันไม่เคยเดาเลย ฉันหมายถึงตัวพิมพ์ใหญ่ไม่ได้ถูกแมปเพื่อหลบหนีอีกหลังจากนั้น
Marko Avlijaš

3

ฉันมีปัญหาด้วยเช่นกันบน Ubuntu 16.04 กับ fcitx และมีวิธีแก้ปัญหาเกี่ยวกับfcitx wikiแต่มันต้องการ fcitx ที่มี 4.2.7 หรือใหม่กว่า

  • touch ~/.Xmodmap
  • เขียนการกำหนดค่า
  • รีบูทและ fcitx จะพยายามโหลดโดยอัตโนมัติ

นอกจากนี้ยังมีคำอธิบายด้วยเหตุผลบางอย่าง


1
ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
Videonauth

@Videonauth ฉันได้แก้ไขคำตอบของฉัน
Bluethon

ขอบคุณมาก :) ฉันแสดงความคิดเห็นของฉันที่นี่ยังเพื่อให้ผู้คนในการตรวจสอบคิวสามารถเห็นคุณเปลี่ยนแปลงบางสิ่ง
Videonauth

@Videonauth นี่เป็นคำตอบแรกของฉันและฉันเป็นคนอังกฤษต่ำดังนั้นฉันทำผิดพลาด และขอบคุณสำหรับคำแนะนำของคุณ : P
Bluethon

ไม่เป็นไร การให้คำตอบเป็นวิธีที่ดีในการช่วยเหลือชุมชน
Videonauth

3

@ คำตอบของแดเนียลชี้ให้ฉันเห็นวิธีที่ถูกต้อง แต่ฉันต้องการที่จะขยาย

ทำงานได้สำหรับฉันบน Linux Mint 17.2 และ Ubuntu 16.04

ฉันพยายามบิดทุกอย่างที่ฉันคิดว่าจะใช้ต่อxmodmapไป แต่มันก็ล้มเหลวเมื่อระบบเข้าสู่โหมดสลีป แม้จะเหมือนกันสำหรับสคริปต์การเริ่มต้นใช้งานที่ใช้setxkbmapในกรณีที่ * settings-daemon (สำหรับฉันมันคือ xfce4) ทำงานช้ากว่าสคริปต์ --- และลำดับจะไม่ได้รับผลกระทบจริงๆ

ในที่สุดสิ่งที่ฉันมาด้วยมีส่วนผสมต่อไปนี้:

1) /usr/share/X11/xkb/symbolsเขียนไฟล์แผนที่แป้นพิมพ์น้อยที่สุดสำหรับ ให้เรียกไฟล์mylayoutมันสามารถทำได้ง่ายเหมือน

xkb_symbols "basic" {
  name[Group1] = "My Layout";
  include "us"
  key <AE03> { [ 3, numbersign, sterling, sterling] };
  include "level3(ralt_switch)"
}
  • basic เป็นเพียงชื่อเราจะพบกันอีกครั้งในภายหลัง
  • name[Group1]ในทำนองเดียวกันเป็นเพียงชื่อดูเหมือนว่า แต่มันจะไม่มีบทบาทในภายหลัง
  • include "us"รวมถึงแป้นพิมพ์ธรรมดาของเรา จริงๆแล้วusเป็นไฟล์อื่นในไดเรกทอรีเดียวกัน นี่คือรูปแบบแป้นพิมพ์ที่เรากำลังปรับตัว เลือกอันอื่นตามต้องการ หมายเหตุ: ไม่มีเครื่องหมายอัฒภาคเพื่อจบบรรทัดนี้
  • keyสายเป็นหนึ่งในการปรับตัวของแป้นพิมพ์อื่น ๆ สามารถทำตาม สามารถพบได้ในไฟล์ที่อยู่ภายใต้<AE03> /usr/share/X11/xkb/keycodesใช้xevโปรแกรมที่จะคิดออกว่า "3" -key มี keycode 12 และในการพิมพ์ซ้ำไฟล์มันถูกแมปไปXfree86<AE03>
  • ในที่สุดอีก includeคำสั่งเพื่อเปิดใช้งานตัวเลือกแป้นพิมพ์อื่นในกรณีนี้ฉันต้องการให้ปุ่ม Alt-key ที่ถูกต้องเป็นแป้น shift ระดับ 3 นั่นคือปุ่มที่ให้การเข้าถึงsterlingสัญลักษณ์ที่ฉันกำหนดไว้ด้านบน level3เป็นเพียงชื่อไฟล์ในโฟลเดอร์เดียวกับralt_switchส่วนหนึ่งของมัน ดูรอบ ๆ และเลือกสิ่งที่คุณต้องการรวมไว้

2) ฉันไม่ได้ใส่mylayoutลงในโฟลเดอร์ระบบ ค่อนข้างฉันทำเพียงลิงค์อ่อนจากโฟลเดอร์ระบบไปยังโฟลเดอร์ที่ฉันชอบทันทีเห็นว่านี่ไม่ใช่ซอฟต์แวร์หุ้น

3) เพิ่มเติมฉันไม่ได้แก้ไขevdev.xmlอีกครั้งเพื่อป้องกันไม่ให้ยุ่งยากในการปรับปรุง แต่นี่เป็นสิ่งจำเป็นในการค้นหา mylayout ในเครื่องมือแก้ไขการกำหนดค่าแป้นพิมพ์ (สำหรับ xfce4 มันคือxfce4-keyboard-settings) แต่ฉันใช้xfce4-settings-editorและเปลี่ยนkeyboard-layout->XkbLayoutเป็นmylayout(ชื่อไฟล์) และXkbVariantจะbasic(ดูด้านบน) หลังจากนั้นmylayout/basicจะปรากฏในตัวแก้ไขการตั้งค่าแป้นพิมพ์ด้วย รายการในevdev.xmlดูเหมือนจะจำเป็นเท่านั้นที่จะสามารถเลือกเค้าโครง

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

พื้นหลังเพิ่มเติมสามารถพบได้ที่นี่: http://www.charvolant.org/~doug/xkb/html/node5.html

วิธีการอื่นในการแก้ไขปัญหาโหมดสลีป (ไม่ลองด้วยตัวเอง) สามารถดูได้ที่นี่: https://www.vinc17.net/unix/xkb.en.html

UPDATE: ทำงานร่วมกับ Mint 18.3 ในเวลาเดียวกันฉันเปลี่ยนการตั้งค่าใน xfce4-settings-editor ตามที่อธิบายไว้ข้างต้น

อัปเดต: ด้วย 18.04, gdm3 เป็นตัวจัดการการแสดงผลและ XFCE4 เป็นตัวจัดการหน้าต่างดูเหมือนว่า ~ / .Xmodmap จะอ่านอีกครั้งและการตั้งค่าดูเหมือนจะอยู่รอดระงับ (ฉันไม่ค่อยได้ใช้ suspend และฉันไม่เคยแน่ใจว่าแลปท็อปนั้นอยู่ในโหมดใด)


2

REVISION

การอัปเดตในช่วงต้นปี 2561 เกิดความขัดข้อง - การรีโหลดคีย์แม็พอัตโนมัติหลังจากหยุดชั่วคราวหรือไฮเบอร์เนต เนื่องจากวิธีการที่ใช้สคริปต์ /etc/pm/sleep.d หยุดทำงาน (เลิกใช้แล้วหรือไม่) นั่นเหลือวิธีการที่ใหม่กว่าเท่านั้นโดยใช้ / lib / systemd / system-sleep และสคริปต์ที่แตกต่างกันเล็กน้อย (ซึ่งเริ่มทำงานบนแป้นพิมพ์!)

ดังนั้นโพสต์นี้จะได้รับการอัปเดตเป็นวิธีที่ใหม่กว่าเพื่อการคงอยู่และรวมถึงการโหลดคีย์แมปเริ่มต้นปกติซึ่งก็เริ่มทำงานเช่นกัน รูทีนสำหรับการแปลงไฟล์. Xmodmap เป็น. xkbmap ยังคงไม่เปลี่ยนแปลง

หมายเหตุนี่เป็นวิธีแก้ปัญหาสำหรับผู้ใช้แต่ละคน สำหรับคำตอบต่ออุปกรณ์ดูวิธีการใช้รูปแบบแป้นให้เครื่องเดียว วิธีนี้สามารถปรับให้ใช้ที่นี่

ขั้นแรกแก้ไขไฟล์. Xmmap ตามที่ต้องการ สิ่งเหล่านี้สามารถแก้ไขได้ง่ายกว่าไฟล์. xkbmap โดยตรง เมื่อโหลดแล้ว:

xmodmap .Xmodmap

จากนั้นแปลงเป็นไฟล์. xkb:

xkbcomp $ DISPLAY $ HOME / .xkbmap

หากต้องการโหลดอัตโนมัติเมื่อเริ่มต้นให้เปิดแอปพลิเคชันเริ่มต้นคลิกเพิ่มและในบรรทัดคำสั่งให้ป้อน:

xkbcomp /home/user/.xkbmap ": 0"

("ผู้ใช้" ถูกแทนที่ด้วยชื่อผู้ใช้จริง) สำหรับชื่ออาจป้อนการโหลดแผนที่แป้นพิมพ์ เพิ่มความคิดเห็นหากต้องการและกดบันทึก

ตอนนี้คีย์แมปจะโหลดทุกครั้งที่บูทระบบ แต่จะไม่รอดจากการหยุดชั่วคราวหรือไฮเบอร์เนต สำหรับสิ่งนี้สร้างไฟล์ใหม่ใน / lib / systemd / system-sleep, บางทีชื่อ 60_xkbmap ซึ่งประกอบด้วย:

#!/bin/sh
case $1/$2 in
  pre/*)
    # Place pre-suspend commands here
    exit 0
    ;;
  post/*)
    # Place post-suspend commands here
    export DISPLAY=":0"
    export XAUTHORITY="/home/user/.Xauthority"
    su user -c "xkbcomp /home/user/.xkb/xkb-map $DISPLAY 2>/dev/null"
    ;;
esac

( Ref. ) ข้างต้นแทนที่ "ผู้ใช้" ด้วยชื่อผู้ใช้จริง

ตอนนี้คีย์แมปควรโหลดอัตโนมัติและยังคงอยู่ บันทึก:

  • นำไปใช้กับการเปิดตัว LTS ปัจจุบัน 16.04 และมีแนวโน้มที่จะเปิดตัวในภายหลังเช่นกัน
  • นำมาจากการโพสต์ 14ของเธรดบั๊กที่ลิงก์ด้านบน
  • ความคิดเห็นก่อนหน้านี้ถูกนำไปใช้กับโพสต์ต้นฉบับ

ฉันลองใช้วิธีนี้ตอนนี้และตอนนี้เมื่อฉันเริ่มใช้งานเทอร์มินัลฉันได้รับข้อความมากมายดังนี้: คำเตือน: ไม่มีสัญลักษณ์ที่กำหนดไว้สำหรับ <AB11> (รหัส 97) คำเตือน: ไม่มีสัญลักษณ์ที่กำหนดไว้สำหรับ <JPCM> (รหัส 103) ไม่มีการกำหนดสัญลักษณ์สำหรับ <I120> (รหัส 120) ...... และอื่น ๆ อีกมากมายที่ไม่แน่ใจว่าจะเกิดอะไรขึ้น ใครรู้บ้าง
สูญเสียลูก

วิธีนี้แม้จะมีคำเตือนดังกล่าวข้างต้นใช้งานได้ แต่เพียงชั่วคราว - หลังจากเล็กน้อยในขณะที่การทำแผนที่อย่างใดได้รับการลืมและซุปเปอร์คีย์กลับไปที่ฟังก์ชั่นเริ่มต้น ดังนั้นฉันจะลองวิธีอื่น ๆ - ฉันจะทำการแมปทางลัดการแก้ไขพื้นฐานบน mac ของฉันเพื่อใช้ปุ่มควบคุมแทนคีย์คำสั่งและดูว่าใช้งานได้หรือไม่ ฉันแค่ต้องการให้คำสั่ง cut-copy-paste-undo-redo เหมือนกันใน Mac และ Ubuntu ฉันผิดหวังมากเมื่อเมนูค้นหาปรากฏบน Ubuntu ทุกครั้งที่ฉันพยายามคัดลอกหรือวางบางสิ่งบางอย่าง
สูญเสียลูก

1

สิ่งนี้ทำให้ฉันสะดุดเช่นกันเมื่อฉันอัพเกรดจาก Ubuntu 12.04 เป็น 13.04

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

  1. ไปที่การตั้งค่าระบบ > เค้าโครงแป้นพิมพ์ > ตัวเลือก ...
  2. ในตัวเลือกเค้าโครงแป้นพิมพ์ให้คลิกลูกศรเพื่อแสดงตัวเลือกตำแหน่งคีย์▸ Ctrl
  3. ใส่เครื่องหมายถูกที่Swap Ctrl และ Caps Lock

ไปที่นั่นแล้ว: การควบคุมด้านซ้ายและ Caps Lock เปลี่ยนตำแหน่ง

อย่าลืมลบ~/.Xmodmapเมื่อคุณทำการเปลี่ยนแปลงแล้ว


นี่อาจลดลงเนื่องจากไม่ได้ระบุ xmodmap แต่นี่เป็นวิธีที่ฉันค้นพบว่าการใช้ Gnome Tweak อาจเป็นสาเหตุของการแมปของฉันบางอย่างแสดงท่าทางแปลก ๆ
dragon788

ฉันไม่เห็นสิ่งนี้ใน 16.04 เป็นไปได้ไหม
chrismarx

1
@chrismarx ไม่พวกเขาลบมัน ปัจจุบัน (16.04) ผมตั้งในXKBOPTIONS="ctrl:swapcaps" /etc/default/keyboard
glts

0

ฉันพบว่าการเพิ่มสคริปต์นี้เพื่อการเริ่มต้นที่น่าพอใจ:

while true;do 
    xmodmap -e "keycode 87=Prior"
    xmodmap -e "keycode 88=Next"
    sleep 5
done

ฉันพยายามใช้xmodmap ./Xmodmapแต่ทุกครั้งที่มีการดำเนินการความล่าช้าที่สังเกตได้จะเกิดขึ้น


4
while; doควรหลีกเลี่ยงการใช้ลูปที่ไม่มีขีด จำกัด มันทำให้หนึ่งคอร์ของซีพียูดูอัลคอร์ของฉันไปถึง 42% ทุก ๆ 5 วินาทีลดการชาร์จแบตเตอรี่แล็ปท็อปของฉันลงอย่างรุนแรง
Serge Stroobandt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.