Как программист, я обнаруживаю, что печатаю символы гораздо чаще, чем цифры. Поэтому было бы неплохо, если бы ряд цифр на клавиатуре по умолчанию выдавал символы.
Конечные результаты должны быть такими: 6произведет ^
и Shift+ 6даст 6
.
Некоторое время я пытался перейти на Дворжака, но сочетание крутой кривой обучения и приближающегося дедлайна не делает это решение привлекательным.
В идеале я бы хотел сделать то же самое и на Windows, но давайте сосредоточимся на Debian, поскольку это моя основная машина для разработки.
Из того, что янайти в ИнтернетеФункция «Shift Lock», активируемая быстрым нажатием кнопки Shift, делает именно это в Windows, но я не смог найти никаких ссылок на *nix.
Редактировать: В идеале решение не должно мешать работе с нецифровыми ключами строк, такими как , [но если это произойдет, я смогу с этим смириться (так как {
это чаще встречается в C, чем [
).
решение1
Из вашего вопроса я понимаю, что вам нужно, чтобы определенные клавиши работали точно так же, как при нажатии shift и наоборот. Для этого вы можете создать свою собственную пользовательскую раскладку клавиатуры. Для этого вы можете скачать Microsoft Keyboard Layout CreatorМСКЛЦи затем используйте его для создания пользовательского макета для вашей системы. Также после создания пользовательского макета он должен попросить вас установить созданный макет, поэтому выберите ДА, чтобы перейти в папку, где находится установщик, и установить ваш пользовательский макет. Также вам нужно перезагрузить систему после создания вашего пользовательского макета. После этого вам нужно только активировать его из Панели управления.
Идти к (Для Windows 8)
- Нажмите кнопку Windows + I (чтобы открыть меню «Настройки» Charms)
- Нажмите кнопку «Клавиатура» (в правом нижнем углу)
- Вы должны увидеть свой пользовательский макет.
- Выберите это
- И теперь ваш пользовательский макет будет активирован.
Также для полного руководства по MSKLC вы можете скачать егоздесьиздесь. Если возникнут какие-либо проблемы, смотрите оба урока.
решение2
Из веткиИзменение роли нажатия 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
Более подробную информацию об использовании этого файла можно найти по ссылке выше.
решение3
Вы можете использовать либо dumpkeys
и loadkeys
(для консоли), либо xmodmap
(для X), чтобы переопределить функцию заданной клавиши клавиатуры. xev
может сообщить вам, как X видит конкретный ввод с клавиши.
Я рекомендую вам сначала распечатать полный набор выражений раскладки клавиатуры; возможно, ваша система изначально настроена немного по-другому, в таком случае вышесказанное не будет точно соответствовать. Чтобы сделать это, просто выполните xmodmap -pke
(для распечатки таблицы раскладки клавиатуры как выражений).
Например, чтобы переназначить 1на !
и Shift+ 1на 1
в X, мы сначала используем 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
).
решение4
Для ОС BSD посмотрите эту опциюРедактор раскладки клавиатурыилиСоздание пользовательских раскладок клавиатуры для X11 с использованием XKB
Для Windows проверьтеСоздатель раскладок клавиатуры Microsoft 1.4
Кажется, это лучшие варианты, которые я нашел. Я не говорю, что это единственные варианты.