Это мое эссе о переписывании кода для раскладки клавиатуры CSA. Судя по вики-изображению и моему предположению, эти двое теперь немного ближе.
Вы можете вставить /usr/доля/X11/xkb/символы/ca
А вот изображение клавиатуры редактировать не буду, не знаю как.
частичный
xkb_symbols "CSA" {
name[Group1] = "Канадский стандарт";
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
key <TLDE> { [косая черта, обратная косая черта, полоса, NoSymbol,
NoSymbol, дефис ] };
key <AE01> { [ 1, восклицательный знак, плюс-минус, NoSymbol,
oneuperior, восклицательный знак] };
key <AE02> { [ 2, at, at, NoSymbol,
два высших, NoSymbol ] };
key <AE03> { [ 3, числовой знак, фунт стерлингов, NoSymbol,
threesuperior, фунты стерлингов] };
key <AE04> { [ 4, доллар, валюта, NoSymbol,
одна четверть, еврознак ] };
key <AE05> { [ 5, процент, валюта, NoSymbol,
половина, три восьмых] };
key <AE06> { [ 6, вопрос, незнак, NoSymbol,
три четверти, пять восьмых] };
key <AE07> { [ 7, амперсанд, фигурная скобка, NoSymbol,
NoSymbol, семь восьмых ] };
key <AE08> { [ 8, звездочка, фигурная скобка, NoSymbol,
NoSymbol, товарный знак ] };
key <AE09> { [ 9, скобка слева, скобка слева, NoSymbol,
NoSymbol, плюс-минус ] };
key <AE10> {[0, скобка, скобка, NoSymbol]};
key <AE11> { [минус, подчеркивание, половина, NoSymbol,
NoSymbol, вопрос вниз] };
key <AE12> { [равно, плюс, незнак, NoSymbol,
dead_cedilla, dead_ogonek ] };
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
key <AD01> { [ q, Q, NoSymbol, NoSymbol,
NoSymbol, Greek_OMEGA ] };
key <AD02> { [ w, W, NoSymbol, NoSymbol,
lход, Lход ] };
key <AD03> { [ e, E, Eurosign, NoSymbol,
ое, ОЕ ] };
key <AD04> { [ r, R, NoSymbol, NoSymbol,
абзац, зарегистрированный ] };
key <AD05> { [ t, T, NoSymbol, NoSymbol,
тслэш, тслэш ] };
key <AD06> { [y, Y, NoSymbol, NoSymbol,
стрелка влево, иена ] };
key <AD07> { [ u, U, NoSymbol, NoSymbol,
стрелка вниз, стрелка вверх ] };
key <AD08> { [ i, I, NoSymbol, NoSymbol,
стрелка вправо, без точки] };
key <AD09> { [ o, O, section, NoSymbol,
косая черта, косой наклон ] };
key <AD10> { [p, P, параграф, NoSymbol,
шип, ТОРН] };
key.type[group1]="ВОСЕМЬ_УРОВЕНЬ";
key <AD11> { [dead_circumflex, dead_diaeresis, dead_grave, NoSymbol,
NoSymbol, dead_abovering ] };
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
key <AD12> { [ ccedilla, Ccedilla, asciitilde, NoSymbol,
dead_tilde, dead_macron ] };
key <AC01> { [ a, A, NoSymbol, NoSymbol,
а.е., А.Е.] };
key <AC02> { [ s, S, NoSymbol, NoSymbol,
ssharp, раздел ] };
key <AC03> { [ d, D, NoSymbol, NoSymbol,
эт, ЕТН ] };
key <AC04> { [ f, F, NoSymbol, NoSymbol,
NoSymbol, женский род ] };
key <AC05> { [ g, G, NoSymbol, NoSymbol,
англ, англ ] };
key <AC06> { [ h, H, NoSymbol, NoSymbol,
hstroke, Hstroke ] };
key <AC07> { [ j, J, NoSymbol, NoSymbol,
U0133, U0132 ] };
key <AC08> { [ k, K, NoSymbol, NoSymbol,
кра, NoSymbol ] };
key <AC09> { [ l, L, NoSymbol, NoSymbol,
U0140, U013F]};
key.type[group1]="ВОСЕМЬ_УРОВЕНЬ";
key <AC10> { [ точка с запятой, двоеточие, степень, NoSymbol,
dead_acute, dead_doubleacute] };
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
key <AC11> { [ выгравировать, выгравировать, braceleft, NoSymbol,
NoSymbol, dead_caron ] };
key <BKSL> { [ гравировать, гравировать, braceright, NoSymbol,
NoSymbol, dead_breve ] };
key <LSGT> { [уграв, Уграв, степень, NoSymbol,
NoSymbol, ломаная полоса ] };
key.type[group1]="FOUR_LEVEL_SEMIALPHABETIC";
key <AB01> {[z, Z, guillemotleft, NoSymbol]};
key <AB02> { [ x, X, guillemotright, NoSymbol ] };
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
key <AB03> { [ c, C, NoSymbol, NoSymbol,
цент, авторское право ] };
key <AB04> { [ v, V, NoSymbol, NoSymbol,
левая двойная кавычка, левая одинарная кавычка ] };
key <AB05> { [ b, B, NoSymbol, NoSymbol,
правая двойная кавычка, правая одинарная кавычка ] };
key <AB06> { [ n, N, NoSymbol, NoSymbol,
U0149, U266A ] };
key <AB07> { [м, М, мю, NoSymbol,
мю, мужской род] };
key <AB08> { [запятая, апостроф, меньше, NoSymbol,
Greek_horizbar, умножить ] };
ключ <AB09> { [ точка, цитируемый bl, больше, NoSymbol,
центрирование по периоду, деление ] };
key <AB10> { [eacute, Eacute, dead_acute, NoSymbol,
NoSymbol, dead_abovedot ] };
включить "nbsp(level3s)"
modifier_map Control{ Control_L };
включить "level3(ralt_switch)"
включить «уровень 5 (rctrl_switch)»
};
Это подтверждение, а не ответ:
Выбор франко-канадской многоязычной раскладки клавиатуры на Kubuntu
Выбор канадской многоязычной клавиатуры в рабочем столе Unity 20.04
Сравнение с дизайном клавиатуры CSA,
Большинство символов 3-го уровня (клавиша с AltGr) верны.
И некоторые символы 4-го уровня неверны, на 6
, а
, -
, ©
и так далее.