กดปุ่มค้างไว้เพื่อแก้ไข


23

ฉันตกหลุมรักกับความสามารถในการกดปุ่มบน Android ประมาณ 100ms เพื่อรับเครื่องหมายวรรคตอน 'ใต้' (พบในเมนู) และฉันชอบที่จะมีความสามารถเช่นเดียวกันกับ Ubuntu ฉันไม่จำเป็นต้องทำซ้ำตัวละครดังนั้นฉันจะไม่พลาดอะไร เป็นไปได้และถ้าเป็นเช่นนั้นได้อย่างไร ขอขอบคุณ :)


มันสายไปแล้ว แต่คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับฟังก์ชั่นที่คุณต้องการนำไปใช้กับ Ubuntu ได้ไหม?
Harshit

1
@Harshit แน่นอน: การใช้แป้นพิมพ์ Google บน Android เป็นไปได้ที่จะเลือกความสามารถในการกดปุ่มบนแป้นพิมพ์ -oft เพื่อพิมพ์เครื่องหมายวรรคตอนโดยไม่ต้องไปที่เมนูแยกต่างหาก นี่จะเป็นอุดมคติที่ถูกนำไปใช้เป็นตัวเลือกใน Ubuntu โดยกดปุ่มพูด '2' สำหรับ 100ms พิมพ์เป็น '@' กด '-' ประเภท '_' และอื่น ๆ
Patrick

คำตอบ:


3

ขณะนี้ไม่มีวิธีที่รวดเร็วและง่ายดายในการเปิดใช้งานฟังก์ชั่นประเภทนี้บน Ubuntu รุ่นเดสก์ท็อป

โดยส่วนตัวผมเป็นแฟนตัวยงของคีย์ลัดเขียนเริ่มต้น ; ฉันพบว่าเร็วขึ้นและใช้งานง่ายกว่าการกดแบบยาวสไตล์มือถือ (♥) ที่กล่าวว่าหากคุณมีเวลาและความมุ่งมั่นคุณอาจสามารถ piggyback ตัวเลือกslowkeysในแอปพลิเคชันหลักของ Universal Access เริ่มต้นเพื่อสร้างสิ่งที่คล้ายกับตัวเลือกมือถือ

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

ในกรณีที่สิ่งที่ซับซ้อนมีการกำหนดอักขระพิเศษหลายตัวให้กับการกดแป้นพิมพ์ (ตัวอย่าง: กด "a" ค้างไว้และรับตัวเลือกสำหรับä, à, á, â, ฯลฯ ) คุณวนรอบตัวเลือกอย่างไร คุณมีตัวอักษรปรากฏขึ้นในหน้าต่างสนทนาแล้วใช้เมาส์แท็บหรือปุ่มลูกศรเพื่อเลือก? ดูเหมือนเสียเวลา

หรือคุณสามารถกำหนดความยาวการถือครองที่แตกต่างกันให้กับตัวละครที่แตกต่างกัน 100 มิลลิวินาทีสำหรับ a, 200ms สำหรับá, 300ms สำหรับ ... แต่จำได้ว่ากี่วินาทีที่ตัวละครจะเล่ห์เหลี่ยมไม่พูดถึงการกำหนดให้พวกเขาทุกคนจะปวดหัว นอกจากนี้เมื่อคุณเข้าสู่รายการตัวละครอีกต่อไปคุณสามารถนั่งที่นั่นโดยถือกุญแจไว้ได้นาน 3-4 วินาที ดูเหมือนจะใช้เวลามากขึ้น

แทนที่จะเป็นปุ่มลัดคุณสามารถลองใช้ตัวเลือกทำซ้ำแทนการมีแป้นหลายแป้นให้อักขระพิเศษ: 3 ปุ่มเป็น "a" สำหรับàตัวอย่างเช่น แต่คุณเสี่ยงต่อการมีตัวอักขระพิเศษที่ไม่ต้องการโผล่ขึ้นมาเมื่อคุณพิมพ์อะไรเช่น "ดี" หรือ "น่าขนลุก" หรือ "aaaaaaahhh!"

คุณอาจคิดวิธีการนำไปใช้ที่มีประสิทธิภาพมากกว่าที่ฉันไม่เคยนึกถึงมาก่อน แต่ฉันจะยังคงแนะนำให้เขียนชุดค่าผสมที่สำคัญในระหว่างนี้ ☺


1
ลองดูที่ลิงก์ของคุณจากนั้นอาจเป็นไปได้ที่จะตั้งค่าแต่ละคีย์เป็นคีย์ตัวแก้ไขเป็นเครื่องหมายวรรคตอนโดยมีความล่าช้าซึ่งเป็นสิ่งที่ฉันกำลังมองหา! ฉันจะต้องลองแก้ไขสิ่งนี้ภายหลัง
Patrick

0

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

ISR's เป็นโปรแกรมระดับต่ำซึ่งมักเขียนโค้ดในภาษาแอสเซมบลีเนื่องจากพวกเขาจัดการกับฮาร์ดแวร์โดยตรงและต้องรวดเร็ว นี่คือข้อมูลเพิ่มเติมเกี่ยวกับการขัดจังหวะฮาร์ดแวร์ในโปรเซสเซอร์ Intel และวิธีการใช้งาน

คีย์บอร์ดนั้นมีโปรเซสเซอร์ของตัวเองมาตั้งแต่สมัยของ IBM-PC ดั้งเดิมและสามารถสร้างตัวละครได้อย่างรวดเร็วหากมีการกดปุ่มใด ๆ ค้างไว้

คำจำกัดความสองสามข้ออาจมีประโยชน์ที่นี่:

Repeat Delay : เวลาสิ้นสุดระหว่างการกดปุ่มและเมื่อมันเริ่มซ้ำ

อัตราการทำซ้ำ : หลังจากกดปุ่มแป้นพิมพ์จะทำซ้ำปุ่มนั้น ความเร็วในการเล่นซ้ำคืออัตราการเล่นซ้ำ บางครั้งเรียกว่าอัตราการพิมพ์

รูทีนคีย์บอร์ด ISR จะต้องได้รับการแก้ไขเพื่อทดแทนฟังก์ชั่น Repeat Delay สำหรับฟังก์ชั่น 'Alternative Character' เวลาของการกดและปล่อยปุ่มเป็นส่วนสำคัญของมัน โดยการวัดระยะเวลาของการกดปุ่ม ISR (หรือตัวจัดการขัดจังหวะ) จะรู้ว่าจะส่งผ่านตัวอักษรปกติของตัวละครอื่น (ปุ่ม "ใต้")

เป็นหลักคุณจะแก้ไขหรือเขียนไดรเวอร์อุปกรณ์สำหรับแป้นพิมพ์อีกครั้ง

นี่เป็นเพียงมุมมองระดับสูงของวิธีการที่ฉันคิดว่าจะต้องใช้เพื่อให้ได้สิ่งที่คุณต้องการ


0

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

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

มันควรจะเป็นชิ้นส่วนของเค้กสำหรับโปรแกรมเมอร์ที่จะเพิ่มบิตพิเศษของรหัสที่จะวัดสัมผัสกดยาวและนำขึ้นเมนูที่มีความสำคัญสำหรับบริบทselect, copy, pasteฯลฯ เช่นมาร์ทโฟนทำในวันนี้

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

Apple, Google, Microsoft และ Linus ต่างตื่นเต้นกับความคิดของคุณ แน่นอนมันทำให้ฉันสนใจ!


ฉันรู้สึกถึงการถากถางหรือเป็นของแท้หรือไม่
Amit Gold

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