Я не думаю, что это возможно, так как с заданным макетом можно ввести один и тот же символ несколькими способами. Например, с моей французской раскладкой я могу ввести «É», либо включив CapsLock
и набрав é
, либо с помощью Compose
- '
- Сдвиг
- и
.
Я думаю какая-то библиотека для этого существует (если только внутри компании Google?). Например, https://www.google.com/search?q=hjccbz правильно отображает результаты для россиян.Это не работает для ghbdtn , хотя (возможно, потому, что неправильное написание «привет» - это обычная шутка?)
На самом деле, поиск этих строк вызывает некоторые наполовину многообещающие результаты, хотя ничего явно применимо напрямую.
В любом случае, нет причин, по которым вы не можете поместить свой собственный код в сценарий, что, очевидно, устраняет необходимость в правильном повторном вводе этого кода.
Если вы сохраните это с кодировкой CP1251 из вашего редактора, вы можете избежать вложенного iconv
:
#!/bin/sh
LC_ALL=C
iconv -t cp1251 |
tr 'йцукенгшщзхъфывапролджэ\ячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭ/ЯЧСМИТЬБЮ,"№;:?Ёё' "qwertyuiop[]asdfghjkl;'\\zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:\"|ZXCVBNM<>?@#$^&~\`"
Я думаю у вас было ложное предположение о необходимости использования квадратных скобок вокруг аргументов tr
, которые я также попытался исправить.
Сохраните в папке PATH
с запоминающимся и легко вводимым именем chmod + x
, и вот оно.