Нашла решение. Можно сказать, случайно, экспериментировала с типами. Боюсь что рассуждения получатся слишком несвязными (что поделать, в три часа ночи они редко бывают другими), поэтому просто выложу секцию, отвечающую за стрелки. Думаю сделать необходимые выводы не составит труда
partial hidden alphanumeric_keys
xkb_symbols "arrows_rules" {
// standard arrows mapping
// normal 2nd level must not be enumerated to allow text selection with Shift
key <UP> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Up, Cyrillic_e ] };
key <LEFT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, Cyrillic_be ] };
key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Down, Cyrillic_yu ] };
key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, Cyrillic_hardsign ] };
};
Если есть два способа, простой и сложный, то выбирай сложный, так как он проще простого способа, который тоже сложный, но ещё и кривой.