Типографская раскладка в 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 для определённой клавиши.

08 августа 2013

keyboard catboard