การสลับภาษาเค้าโครงแบบไม่มีสัญชาติ / ไร้สัญชาติด้วย Caps Lock อีกครั้ง (18.04 LTS Bionic Beaver)


12

สิ่งนี้ถูกถามนับครั้งไม่ถ้วนดังนั้นฉันจะพยายามสรุป

ฉันมีเค้าโครงอินพุตสองแบบยูเครนและอังกฤษและต้องการ:

  • เพื่อใช้Caps Lockสำหรับการสลับอย่างรวดเร็ว
  • ไม่มีความล่าช้าใด ๆ ที่กำหนดฉันเป็นคนเผด็จการ
  • ไม่มีข้อผิดพลาดโหมด :
    • (จำนวนเท่าใดก็ได้) CapsLockตั้งค่าภาษาอังกฤษ
    • (ไม่ จำกัด จำนวน) ShiftCapsLockตั้งค่าภาษายูเครน;
  • ดูเค้าโครงปัจจุบันในวิดเจ็ตมาตรฐาน

ฉันได้พยายามแล้วสาม (!) GUIs การกำหนดค่านี้การตั้งค่าคำพังเพยที่gnome-tweak-toolที่  /dconf-editor gsettingsไม่มีอะไรทำงาน Tweaksขัดข้องแบบสุ่ม

ทำการบ้านให้เพียงพอ

ฉันถามสิ่งนี้ด้วยตัวเอง4 ปีที่แล้วสำหรับ 14.04 LTS ตั้งแต่นั้นมาป๊อปอัป UI นั้นก็ปรากฏขึ้นและทั้งหมดก็พัง ตอนนี้ฉันสามารถกำหนดค่าการสลับstateful ได้อย่างง่ายดายCapsLockแต่ถึงอย่างนั้นมันก็ไปด้วยความล่าช้าที่น่ารำคาญ โดยทั่วไปใช้ไม่ได้ในบางครั้งเมื่อฉันต้องการเปลี่ยนภาษา 4-5 ครั้งต่อประโยค

เธรดนี้แนะนำcaps:noneตัวเลือก XKB เป็นวิธีแก้ปัญหาบั๊ก ฉันได้ลองแล้วทั้งกับgsettingsCLI และdconf-editorและใช้ร่วมกับgrp:shift_caps_switchตัวเลือก XKB ไม่มีลูกเต๋า มีบางอย่างที่สำคัญกว่าฟีเจอร์ XKB หลัก ๆ อย่างที่เห็น

เธรดนี้เสนอcaps:menuตัวเลือก XKB เป็นแฮ็คเพื่อให้สามารถเชื่อมโยงCapsLockในGnome Settings→อุปกรณ์→คีย์บอร์ด มันใช้งานได้ แต่ A) มันให้การสลับวงจร / สถานะ B) ฉันต้องรอการหยุดพักชั่วคราวทุกครั้งที่สวิตช์

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

มีอีกนัดที่ตรงกัน - อนิจจายังไม่ได้ตอบเช่นกัน!


ต้องการ: วิธีการแก้ปัญหาที่สะอาด


1
ชื่อเสียงแทนที่จะเป็น $ สำหรับเงินรางวัลสมมติว่ามีชื่อเสียงอยู่ที่ +50 คะแนน
karel

@ karel ฉันเห็นว่าไม่มีอะไรผิดปกติกับคำถามนั้น แต่คำถาม "สด" ไม่มีสิทธิ์ได้รับเงินตอบแทนจากการแลกเปลี่ยนซ้อน โปรดปรานสามารถเริ่มต้นกับคำถามสองวันหลังจากที่คำถามที่ถูกถาม ; โปรดยกเลิกการลงคะแนน
ulidtko

ฉันไม่ได้ลงคะแนน ทั้งหมดที่ฉันทำคือความเห็น
karel

ตกลง. อย่างไรก็ตามฉันทำทั้งเสนอและรับรางวัลชื่อเสียงโดยเฉพาะใน AskUbuntu คำถามนี้จะได้หนึ่งด้วยเมื่อถึงเวลา
ulidtko

1
@ulidtko gnome-tweaks-toolฉันจะพยายามที่จะใช้สูงสุดที่ จะไม่สัญญาว่าฉันสามารถขุดออกอะไรและจะต้องค่อนข้างบางเวลาตั้งแต่ผมยุ่งเร็ว ๆ นี้ gnome-tweak-toolแต่ผมจะโพสต์คำตอบถ้าผมขุดออกอะไรที่เกี่ยวข้องกับ อย่าลังเลที่จะแสดงความคิดเห็นที่นี่หรือติดต่อฉันในวิธีอื่น ๆ
Sergiy Kolodyazhnyy

คำตอบ:


5

ใน Ubuntu 18.04 โดยค่าเริ่มต้นมีตัวเลือกในการเลือกCaps_LockและShift+ เพื่อให้บรรลุพฤติกรรมที่เรากำลังมองหาอยู่ในCaps_Lock gnome-tweaksแต่นี่ไม่ทำงานและไม่สามารถหาสาเหตุได้

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

ฉันสามารถจัดการเพื่อให้บรรลุพฤติกรรมนี้ได้โดยการแก้ปัญหาด้านล่าง

ดูลิงค์นี้สำหรับวิดีโอ 20Sec https://imgur.com/QNdrVqa

ก่อนอื่นให้ตรวจสอบคำสั่งด้านล่างในเทอร์มินัลว่าพวกเขากำลังเปลี่ยนภาษาที่ป้อนเข้าหรือไม่

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

และ

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

พวกเขากำลังทำงานอยู่

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

เราจำเป็นต้องผูกคำสั่งเหล่านี้เพื่อกดปุ่มCaps_LockและShift+Caps_Lock

สามารถบรรลุสิ่งนี้ได้xbindkeysหาก xbindkeys ยังไม่ได้ติดตั้งติดตั้งโดยsudo apt install xbindkeys

  1. สร้างไฟล์.xbindkeysrcในโฟลเดอร์ $ HOME
    touch ~/.xbindkeysrc
  2. เพื่อทราบรหัส / id สิ่งที่มันเคยเรียก
    ใช้xbindkeys --keyเมื่อกล่องสีขาวปรากฏขึ้นกดCaps_Lockปุ่มทำเพื่อShiftปุ่มและคัดลอกรหัส / รหัสตามที่แสดงด้านล่าง

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

  1. ขั้นตอนนี้เป็นทางเลือก .. ปิดการใช้งาน Caps Lock ดูด้านล่าง gif หากไม่ได้ปิดใช้งาน caps lock .. เมื่อคุณกดปุ่มหลายครั้งมันจะสลับในขณะที่คุณพยายามเปลี่ยนภาษา ฉันได้ปิดการใช้งาน แต่มันขึ้นอยู่กับความสนใจของคุณ

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

  1. เปิดไฟล์.xbindkeysrc
    gedit ~/.xbindkeysrcและแก้ไขไฟล์ตามด้านล่างตามผลลัพธ์ของขั้นตอนข้างต้น

เปลี่ยนค่าในเนื้อหาด้านล่างตามผลลัพธ์ที่คุณได้ในขั้นตอนที่ 2 ด้านบน เนื้อหา:

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()""
m:0x10 + c:66

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()""
Shift+Mod2 + Shift_L+m:0x10 + c:66
  1. บันทึกไฟล์ปิดและรีบูต ..

2
มันใช้งานได้! ฉันไม่จำเป็นต้องออกจากระบบแม้แต่รีบูต ( xbindkeys --poll-rc) ฉันยังเหลือgrp:shift_caps_switchตัวเลือก XKB ไว้ - ซึ่งเปลี่ยนวิธีพิมพ์รหัสคีย์ของฉัน ( m:0x0 + c:66 ISO_First_Group& m:0x1 + c:66 Shift + ISO_First_Group); ไม่มีปัญหาจากนั้น แม้แต่ไฟ LED ของคีย์บอร์ดก็ยังส่องสว่าง! งานที่ยอดเยี่ยมคุณควรได้รับความโปรดปรานนี้โดยสิ้นเชิง (ผู้แต่ง gnome-tweaks ไม่ว่าพวกเขาจะเป็นใครได้รับหน้านิ่วคิ้ว
ขมขื่น

5

มีรายงานข้อผิดพลาดที่คุณสามารถสมัครเป็นสมาชิก:

รายงานข้อผิดพลาดอ่าน:

แผงคีย์บอร์ดมีตัวเลือกสำหรับการสลับอินพุต แต่ไม่อนุญาตให้ใช้ Caps เป็นสวิตช์ภาษา

ขั้นตอนในการทำซ้ำ:

  1. แป้นพิมพ์ศูนย์ควบคุม gnome
  2. เลื่อนลงไปที่ส่วน 'การพิมพ์'
  3. คลิกที่สลับเป็นแหล่งอินพุตถัดไป
  4. กดปุ่ม Caps

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

PS Same ใช้สำหรับ 'สลับไปยังแหล่งอินพุตก่อนหน้า' และการรวมคีย์ Shift-Caps

แก้ไขข้อผิดพลาด

ข้อผิดพลาดอยู่ใน "Wishlist" วิธีแก้ไขปัญหาเหล่านี้จะถูกนำเสนอ:

วิธีแก้ปัญหา 1

พบวิธีแก้ปัญหาสำหรับข้อผิดพลาดนี้:

  1. ติดตั้ง dconf-editor (sudo apt-get install dconf-editor)
  2. ไปที่ / org / gnome / desktop / wm / keybindings /
  3. เลือกรหัสแหล่งอินพุตสวิตช์ปิด "ใช้ค่าเริ่มต้น" และตั้งค่า "ค่าที่กำหนดเอง" เป็น ['Caps_Lock']
  4. (ไม่บังคับ) คุณยังสามารถเปลี่ยนค่าสำหรับสวิตช์อินพุต - ซอร์ส - ย้อนกลับเป็นบางสิ่งเช่น ['Caps_Lock'] (อีกครั้งปิด "ใช้ค่าเริ่มต้น")

วิธีแก้ปัญหา 2

อีกวิธีในการทำสิ่งนี้: 1. ติดตั้ง GNOME Tweaks (gnome-tweak-tool) 2. เปิดแอพ Tweaks 3. สลับไปที่แผงแป้นพิมพ์และเมาส์ 4. คลิกตัวเลือกเค้าโครงเพิ่มเติม 5. ใช้ส่วน "สลับเป็นเค้าโครงอื่น"

สมัครสมาชิกเพื่อรายงานข้อผิดพลาด

ฉันอยากจะแนะนำการสมัครสมาชิกรายงานข้อผิดพลาดและเพิ่มประสบการณ์ของคุณเอง ยิ่งมีคนสมัครรับรายงานบั๊กมากเท่าไรก็ยิ่งมีวิธีแก้ปัญหาเร็วขึ้นเท่านั้น


วิธีแก้ปัญหา 1 ไม่ตรงกับความต้องการของฉัน แต่ให้การสลับแบบวนซึ่งไม่ใช่สิ่งที่ฉันต้องการ วิธีแก้ปัญหา 2 (Gnome-Tweaks) ได้รับการทดลองและพ่ายแพ้ต่อความตาย ฉันสามารถทำให้มันพังได้ แต่ไม่สามารถใช้งานได้ ขอบคุณสำหรับลิงค์ (ยังอีกอัน)
ulidtko

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