Типографская раскладка в CatBoard
Хочу попробовать сделать в CatBoard типографскую раскладку, вызываемую по Alt+буква или Alt+Shift+буква, как это сделано в MacOS. За основу и возьму макосовскую раскладку.
Русская: Alt Alt+Shift
`12345 67890-= §!@#$% ^&*()–» ±|"£€∞ ¬¶√'`—«
йцуке нгшщзхъ јџќ®† њѓѕў‘“ъ ЈЏЌ®† ЊЃЅЎ’”Ъ
фывап ролджэ\ ƒыћ÷© }°љ∆…эё ƒЫЋ÷© {•Љ∆…ЭЁ
ячсми тьбю. ђ≈≠µи ™~≤≥“ Ђ≈≠µИ ™~<>„
Английская: Alt Alt+Shift
`12345 67890-= §¡™£¢∞ §¶•ªº–≠ ±⁄€‹›fi fl‡°·‚—±
qwert yuiop[] œ∑´®† ¥¨ˆøπ“‘ Œ„´‰ˇ Á¨ˆØ∏”’
asdfg hjkl;'\ åß∂ƒ© ˙∆˚¬…æ« ÅÍÎÏ˝ ÓÔÒÚÆ»
zxcvb nm,./ Ω≈ç√∫ ˜µ≤≥÷ ¸˛Ç◊ı ˜Â¯˘¿
Так как ввод юникодных символов с клавиатуры в разных операционных системах производится по-разному, то придётся сделать несколько режимов, указывающих в какой операционной системе работаете в данный момент. Так как изредка может понадобиться вводить клавиатурные сочетания в виде Alt+буква или цифра, или Alt+Shift+буква или цифра, то типографская раскладка должна быть отключаемая.
В Windows символы вводятся нажатием и удерживанием Alt, набору кода символа в десятичной системе счисления на цифровой клавиатуре (коды символов KEYPAD_0 - KEYPAD_9), и при отпускании Alt символ будет вставлен в поле ввода.
В Linux для ввода специальных символов нужно нажать Ctrl+Shift+U, в строке ввода появится подчёркнутая буква u, после чего нужно ввести код символа в шестнадцатеричной системе счисления, и нажать Enter.
В MacOS символы вводятся через Alt и Alt+Shift и обычные буквы и цифры по всей клавиатуре, таблица приведена выше.
Будет производиться отправка кода нужного символа в выбранной операционной системе, при выборе MacOS ничего происходить не будет, будет отрабатываться встроенный в операционную систему механизм.
Заодно переделываю код прошивки CatBoard под ввод стандартных символов из QWERTY раскладки без шифта, старший 8-й бит теперь указывает на необходимость инвертировать нажатия Shift для определённой клавиши.