Зробіть числовий рядок у рядку символів за замовчуванням


12

Як програміст, я можу вводити символи набагато частіше, ніж я роблю цифри. Тож було б добре, якби рядки цифр на клавіатурі створювали символи за замовчуванням.

Кінцеві результати повинні бути: 6виробляли б ^і Shift+ 6давали б 6.

Я спробував перейти на Дворак на деякий час, але поєднання крутої кривої навчання та наближається термін не роблять це привабливим рішенням.

В ідеалі я хотів би це зробити і в Windows, але зупинимось на Debian, оскільки це моя основна машина для розробників.

З того, що я знаходжу в Інтернеті, функція "lock lock", активована швидким натисканням на кнопку Shift, робить саме це в Windows, але я не зміг знайти жодної посилання * nix.

Редагувати: В ідеалі рішення не повинно втручатися у ненумеровані клавіші рядків, такі як, [але, якщо це так, я можу з ним жити (як {це часто зустрічається в C, ніж [).

Відповіді:


8

З вашого запитання я розумію, що вам потрібні лише певні клавіші, щоб працювати точно так само, як при натисканні Shift і навпаки. Для цього ви можете створити власну власну розкладку клавіатури. Для цього ви можете завантажити Microsoft Keyboard Layout Creator MSKLC, а потім використовувати його для створення власної верстки для вашої системи. Крім того, після створення власної розкладки Вам слід попросити встановити створений макет, тому виберіть ТАК, щоб перейти до тієї папки, де знаходиться Інсталятор, і встановити свій власний макет. Також вам потрібно перезапустити систему після створення власної розкладки. Після цього вам потрібно лише активувати його з панелі управління.

Перейдіть до (для Windows 8)

  1. Натисніть кнопку Windows + I (щоб відкрити меню Налаштування Параметри)
  2. Натисніть на кнопку клавіатури (нижній правий кут)
  3. Ви повинні побачити свій власний макет
  4. Виберіть його
  5. І тепер ваш власний макет буде активовано

Також для повного підручника з MSKLC ви можете отримати його тут і тут . Перегляньте обидва тути, якщо виникають якісь проблеми.


1
Питання стосується Debian.
harrymc

@harrymc Ну, так, і ні. "В ідеалі я хотів би це зробити і в Windows, але давайте зосередимося на Debian, оскільки це моя основна машина для розробників." Отже, відповідь не зовсім недійсна в контексті запитання.
CVN

Я думаю, я мав би вказати Windows 7, оскільки я не володію машиною Win8. Проте відповідь достовірна.
rath

@rath не потрібно хвилюватися, я б розмістив деталі для win 7, що працює на віртуальній коробці.
Мисливець

@rath Ось деталі для цього в W7. Перейдіть за цими посиланнями: - support.microsoft.com/kb/258824 , support.microsoft.com/kb/306560 та sevenforums.com/tutorials/86239-keyboard-layout-change.html . Також дивіться, що додавши власну розкладку клавіатури (або додаткові, надані вікнами) лише тоді (коли у вас активовано більше 1 розкладки клавіатури), ви зможете побачити панель мови (на панелі завдань, як і Windows 8, крім неї в меню принади).
Мисливець

5

З потоку Зворотна роль натискання shift + число походить цей файл xmodmap:

keycode  10 = exclam 1 exclam 1
keycode  11 = at 2 at 2
keycode  12 = numbersign 3 numbersign 3
keycode  13 = dollar 4 dollar 4
keycode  14 = percent 5 percent 5
keycode  15 = asciicircum 6 asciicircum 6
keycode  16 = ampersand 7 ampersand 7
keycode  17 = asterisk 8 asterisk 8
keycode  18 = parenleft 9 parenleft 9
keycode  19 = parenright 0 parenright 0

Перегляньте вище посилання для отримання додаткової інформації про використання цього файлу.


2

Ви можете використовувати або dumpkeysі loadkeys(для консолі) або xmodmap(для X) , щоб перевизначити функцію цієї кнопки клавіатури. xevможе сказати вам, як X бачить певний ввід ключа.

Я рекомендую спершу надрукувати повний набір виразів мапи клавіш; можливо, для початку ваша система налаштована трохи інакше, і в цьому випадку вищезгадане не відповідає точно. Для цього просто зробіть це xmodmap -pke(для таблиці друку ключів як виразів).

Як приклад, для повторного перенаправлення 1до !та Shift+ 1до 1X ми спочатку використовуємо xev, щоб з’ясувати, що 1це клавішний код 10 (у моєму випадку; переконайтеся, що це підтверджено). Щоб перевстановити ключ, щоб змінити його зміщену функцію:

xmodmap -e 'keycode 10 = exclam 1 exclam 1 exclamdown onesuperior exclamdown'

Для відновлення нормальної функції (це відповідає тому, що надруковано xmodmap -pke):

xmodmap -e 'keycode 10 = 1 exclam 1 exclam exclamdown onesuperior exclamdown'

Зміни набувають чинності негайно і зачіпають принаймні весь X сеанс (вони не локальні для програми, яка запускає xmodmap).

Коли у вас є набір команд xmodmap, який встановлює клавіатуру так, як вам потрібно, збережіть їх у ~ / .xmodmaprc, а потім додайте до свого ~ / .xsessionrc (створивши його, якщо його немає):

xmodmap ~/.xmodmaprc

Частина, яку ви хочете додати до .xmodmaprc, - це просто keycode XX = yyy ...частина команди командного рядка (тобто аргумент -eкомутатора).


0

Для огляду BSD os Подивіться цю опцію Редактор розкладки клавіатури або Створення користувацьких розкладок клавіатури для X11 за допомогою XKB

Для Windows ознайомтеся з Microsoft Keyboard Layout Creator 1.4

Це, здається, найкращі варіанти, які я знайшов. Не кажучи, що це єдині варіанти.

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