ฉันสามารถเปิดใช้งานคีย์การตีกลับสำหรับบางคีย์เท่านั้นได้หรือไม่


8

ในแล็ปท็อปของฉันฉันมีปัญหาบ่อยๆที่มีการกดแป้นบนแถบพื้นที่ซ้ำ หลังจากผ่านการเปลี่ยนมาหลายครั้งรวมถึงลองใช้ระบบปฏิบัติการหลายระบบฉันได้ตัดสินว่าปัญหาดังกล่าวเป็นปัญหาฮาร์ดแวร์ตัวหนึ่งไม่ใช่ซอฟต์แวร์ตัวหนึ่ง

โชคดีที่ฉันได้เรียนรู้ว่า Ubuntu มีคุณลักษณะที่รู้จักกันในชื่อปุ่มตีกลับซึ่งจะทำให้ฉันสามารถแก้ไขปัญหาได้เนื่องจากการกดแป้นซ้ำจะถูกกรอง

อย่างไรก็ตามการเปิดใช้งานการแก้ปัญหาสำหรับปุ่มทั้งหมดบางครั้งจะกรองคีย์ที่ฉันไม่ต้องการถูกกรอง ยกตัวอย่างเช่นเมื่อฉันพิมพ์สวัสดีผมมักจะกดสองลิตร s อย่างรวดเร็ว แต่บางครั้งหนึ่งในL s จะถูกกรองซึ่งอาจจะเป็นที่น่ารำคาญมาก ฉันรู้ว่าฉันไม่จำเป็นต้องกดแป้นเว้นวรรคสองครั้งเพื่อต่อเนื่องอย่างรวดเร็วและเนื่องจากฉันมีปัญหากับสเปซบาร์ฉันจึงต้องการเปิดใช้งานคีย์การตีกลับบนสเปซบาร์เท่านั้น

ดังนั้นจึงเป็นไปได้ที่จะมีเพียง เปิดใช้งานปุ่มเด้งในแถบพื้นที่?


ทำซ้ำกี่ครั้ง? มันเกิดขึ้นทุกครั้งหรือไม่
daltonfury42

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

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

ฉันมีการปรับปรุงคำตอบของฉัน แต่ก่อนที่จะอ่านมันอ่านผ่านทางนี้
daltonfury42

ขอบคุณจะลองใหม่ในภายหลัง - ฉันยุ่งมากจึงไม่มีโอกาส
Faiz Saleem

คำตอบ:


3

xset - ยูทิลิตี้การตั้งค่าผู้ใช้สำหรับ X

r คือการควบคุมการตอบกลับอัตโนมัติ

xset -r 10

จะปิดการใช้งานอัตโนมัติสำหรับคีย์ "1"

xset r 10

จะเปิดใช้งานการป้อนอัตโนมัติสำหรับคีย์ "1"

xset r [รหัส]

ในกรณีรหัสของฉันสำหรับแถบพื้นที่คือ 65 ตรวจสอบด้วยรหัสของคุณ: xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'

อย่างไรก็ตามหากคุณต้องการเปลี่ยนความเร็วของปุ่มคุณยังสามารถใช้พารามิเตอร์ rate ได้

และเพิ่มคำสั่งนี้ลงในไฟล์สคริปต์เริ่มเซสชันของคุณ


คุณสามารถรับรายการปัจจุบันของคีย์ที่เปิดใช้งานการเปิดxset qอัตโนมัติได้ มันเป็นอาร์เรย์ 256 บิตที่ถูกทิ้งในฐานสิบหกและค่อนข้างอ่านยาก
meuh

แน่นอนฉันจะต้องแน่ใจว่าจะให้ไปนี้ ขอบคุณ!
Faiz Saleem

1
ทำงานได้ดีสำหรับฉัน เพลิดเพลินไปกับตัวแทน 100!
Faiz Saleem

4

ฉันพบวิธีแก้ปัญหาสำหรับคุณแล้ว แต่ไม่เกี่ยวข้องกับ Bounce Keys สิ่งที่ฉันทำที่นี่คือการปิดการใช้งานคีย์พื้นที่ / แป้นพิมพ์สำหรับเวลาเล็ก ๆ ในแต่ละครั้งที่มีการกดพื้นที่ ดังนั้นที่นี่มันจะไป:

เราใช้xbindkeysเพื่อจับภาพการกด space bar (ในกรณีนี้คือการปล่อย) และxdotoolการแทรกช่องว่าง ติดตั้งหากคุณไม่มีในระบบของคุณ:

sudo apt-get install xbindkeys xdotool

ไฟล์กำหนดค่า xbindkeys ควรปรากฏในโฟลเดอร์โฮมของคุณด้วยชื่อ.xbindkeysrcอื่นสร้างขึ้นมาดังนี้:

xbindkeys -d > ~/.xbindkeysrc

คัดลอกตัวอย่างและวางลงในไฟล์. xbindkeysrc ของคุณ

"xdotool key KP_Space; xinput set-int-prop <kbd-id> "Device Enabled" 8 0; sleep .05 ; xinput set-int-prop <kbd-id> "Device Enabled" 8 1"
     m:0x0 + c:65 + Release
    space

นี่<kbd-id>คือ ID แป้นพิมพ์ที่สามารถพบได้โดยxinputคำสั่ง ตอนนี้คุณต้องการกำหนดค่า xbindkeys ให้เริ่มทุกครั้งที่คุณเริ่มคอมพิวเตอร์

เปิด/etc/rc.localและเพิ่มบรรทัดก่อนxbindkeysexit 0

คุณทำเสร็จแล้ว เปิดเทอร์มินัลแล้วพิมพ์xbindkeysเพื่อเริ่มใช้งานทันที ดูว่ามันทำงานได้หรือไม่ หากไม่จับคู่เว้นวรรคหรือตัวอักษรหลังจากช่องว่างหายไปให้ปรับdelayคำสั่งของเรา~/.xbindkeysrcตามลำดับแล้วรีบูต

อ้างอิง:


ฉันมีปัญหาเล็กน้อยกับคำตอบนี้ คำสั่ง xinput ที่คุณเชื่อมโยงไม่ได้ปิดใช้งานคีย์บอร์ด แต่จะปิดใช้งานหน้าจอสัมผัส ฉันพยายามปรับคำสั่งเพื่อปิดใช้งานแป้นพิมพ์ แต่ก็ไม่ได้ผลเหมือนกัน คำสั่งที่ถูกต้องคือ: xinput float 13 ; sleep .1 ; xinput reattach 13 3ซึ่งไม่ทำงาน อย่างไรก็ตามโซลูชันเองไม่ทำงาน เมื่อฉันเริ่ม xbindkeys ด้วยคำสั่งนี้แถบพื้นที่จะไม่ป้อนช่องว่างอีกต่อไป มันจะปิดการใช้งานแป้นพิมพ์สั้น ๆ ตามที่ควร แต่ไม่มีการป้อนอักขระช่องว่าง ฉันกำลังทำอะไรผิดหรือเปล่า?
Faiz Saleem

ฉันเพิ่งค้นพบวิธีปิดการใช้งานคีย์พื้นที่เท่านั้น มันขึ้นอยู่กับ xmodmap: xmodmap -e 'keycode 65=NoSymbol' ; sleep .1; xmodmap -e 'keycode 65=KP_Space
Faiz Saleem

@FaizSaleem ฉันขอโทษเกี่ยวกับปัญหาแรกมันเป็นความผิดพลาดของฉัน ผมให้รหัสแป้นพิมพ์ของฉันซึ่งเป็น 10. xinputคุณสามารถค้นหาของคุณโดยการพิมพ์ แต่เราไม่ต้องการคุณจะพบวิธีปิดการใช้งานพื้นที่เพียงอย่างเดียว
daltonfury42

เกี่ยวกับปัญหาที่สองฉันยังทดสอบเฉพาะเมื่อแป้นพิมพ์ถูกปิดการใช้งาน ฉันพยายามแทรกพื้นที่ด้วยตนเองโดยใช้xdotool getactivewindow key KP_Spaceแต่ไม่ได้ผล
daltonfury42

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