Утримуйте клавіші для модифікатора


23

Я закохався в те, щоб мати можливість утримувати клавішу на Android приблизно 100 мс, щоб отримати розділовий ключ "під ним" (інакше знайдеться в меню), і я хотів би мати таку саму здатність для Ubuntu. Мені не потрібно повторювати символи, тому я б нічого не пропускав. Чи можливо це, і якщо так, то як? Дякую :)


Пізно, але чи можете ви детальніше розглянути детальніше про функціонал, який ви хотіли б реалізувати для Ubuntu.?
Харшит

1
@Harshit, впевнено: За допомогою клавіатури Google на Android можна вибрати можливість утримувати клавіші на -лівій клавіатурі, щоб ввести розділові знаки, не потрібно переходити до окремого меню. Це, в ідеальному плані, реалізується як опція в Ubuntu, завдяки якій, утримуючи, скажімо, клавішу '2' на 100 мс типу '@', утримуючи '-' типи '_' тощо.
Патрік

Відповіді:


3

Наразі не існує жодного швидкого та простого способу ввімкнути такий функціонал у настільній версії Ubuntu.

Особисто я великий шанувальник комбінацій клавіш для клавіш за замовчуванням ; Я вважаю їх швидшими та набагато інтуїтивнішими, ніж вибір довгого натискання в мобільному стилі (♥). Це означає , що якщо у вас є час та рішучість, ви, можливо, зможете підключити параметр " slowkeys " у базовій програмі Universal Access за замовчуванням, щоб створити щось подібне до мобільного.

Сам поглядаючи , XKB, схоже, асоціюється з керуванням повільними клавішами. Ви можете використовувати XKB для налаштування та вдосконалення прив’язок клавіатури Ubuntu, і наскільки я можу сказати, у цьому розділі є те, що вам потрібно. Тож не повинно бути (відносно) складно мати альтернативний друк символів, коли ключ довго тримається.

Якщо все ускладнюється, це присвоєння декількох спеціальних символів для натискання клавіші (наприклад: утримуйте "a" та отримуйте варіанти для ä, à, á, â тощо). Як ви перебираєте варіанти? У вас символи спливають у діалоговому вікні, а потім за допомогою клавіші миші, вкладки чи стрілки виберіть його? Здається, це забирає багато часу.

Або ви можете призначити різну довжину утримування різним символам. 100мс утримує à, 200мс утримує, а 300мс на… Але запам’ятовування, скільки секунд за які персонажі можуть отримати хитрість, не кажучи вже про призначення всіх їх окремо, було б головним болем. Плюс до того, коли ви потрапляєте у більш довгі списки персонажів, ви можете сидіти там, тримаючи клавішу добрі 3-4 секунди. Здається, це ще більше часу.

Замість швидких клавіш, ви можете спробувати параметр повторних клавіш, замість того, щоб кілька натискань клавіш надавали спеціальний символ: наприклад, 3 натискання "a" для à. Але тоді ви ризикуєте виникнути небажані спеціальні символи, коли ви набираєте щось на кшталт "добре", "жахливо", або "ааааааах!"

Можливо, ви придумали якийсь інший, більш ефективний метод впровадження, про який я не замислююся, і в цьому випадку виправдайте та змініть! Але я все ж рекомендую тим часом скласти комбінації клавіш. ☺


1
Переглядаючи ваше посилання, можливо, можна буде встановити кожну клавішу як модифікаційний ключ до пунктуації, із запізненням, саме це я шукаю! Пізніше мені доведеться спробувати зайнятися цим.
Патрік

0

Я впевнений, що це можливо зробити, змінивши розпорядок служби переривання клавіатури (ISR). Щоразу, коли натискається клавіша, сигнал процесора надсилається до процесора. Потім процесор буде обслуговувати такі переривання, запустивши ISR клавіатури.

ISR - це програми низького рівня, зазвичай кодуються мовою складання, оскільки вони мають справу безпосередньо з обладнанням і повинні бути швидкими. Ось додаткові відомості про апаратні переривання процесорів Intel та способи їх використання.

Клавіатури мали власні процесори ще з часів оригінального IBM-ПК, і вони можуть створювати символи дуже швидко, якщо якась клавіша утримується.

Тут можуть бути корисні кілька визначень:

Повторне затримка : проміжок часу між натисканням клавіші та коли вона починає повторюватися.

Частота повтору : Після натискання клавіші клавіатура повторить цю клавішу. Швидкість, з якою він повторюється, - це швидкість повторення. Іноді називають типовою ставкою.

Програма ISR клавіатури повинна бути змінена, щоб замінити функцію повторного затримки функцією «Альтернативний символ». Час натискання та випуску клавіш - суть його. Виміряючи тривалість натискання клавіші, ISR (або обробник переривання) міг би передати або звичайний символ альтернативного символу (клавіша "під ним")

По суті, ви б змінювали або переписували драйвер пристрою для клавіатури.

Це лише погляд високого рівня на підхід, який, на мою думку, знадобиться для досягнення того, чого ви хочете.


0

Оскільки сенсорна панель функціонує аналогічно сенсорному екрану в Android, це забезпечить кращий інтерфейс, ніж клавіатура. Дійсно, цілий новий набір процедур може бути реалізований для збільшення, переміщуючи великий палець і вказівний палець разом, а також зменшувати масштаб за допомогою зворотного напрямку.

Сенсорна панель вже може відчути один пальцем, двома пальцями, навіть долоні, випадково переміщуючись проти тачпада, і тому їх ігнорувати. Розпізнаються швидкості прискорення і уповільнення. Це вже управління вказівником миші на текст, який ви хочете виділити довгим натисканням.

Він повинен бути шматок пирога для програмістів , щоб додати додатковий біт коду для вимірювання сенсорної прес довжини і виховувати контекстне меню для select, copy, pasteі т.д. , як смартфони сьогодні.

Я думаю, що ваше запитання - це чудова ідея, яка може переробити програмне забезпечення та клавіатури із вбудованими тачпадами на абсолютно новий рівень. Слід зазначити, що на деяких сенсорних панелях, вбудованих у клавіатури, є кольоровий РК-екран, який може ще більше зайняти вашу ідею. тобто текст, що виділяється на екрані, може відображатися на дзеркалі тачпада та відображати масштаб для тонких рухів.

Apple, Google, Microsoft та Linus можуть бути в захваті від вашої ідеї. Це, безумовно, викликало мій інтерес!


Чи відчуваю я сарказм чи це справжнє?
Золото Аміт

Я думаю, що це відмінна ідея. Повернення деяких переваг смартфона додому на робочий стіл.
WinEunuuchs2Unix
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.