man xmodmap
Скорее всего понадобится биндить ISO_NextGroup на одну кнопку, а ISO_PrevGroup - на другую. И не слушайте "почетных бубунтоводов". Бубунта вредно влияет на мозги - начинаешь думать о том, как решить задачу с помощью неких свистелок и пищалок вместо того, чтобы разобраться, как оно работает.
При старте Х прогружает клавиатурный план. Это обычный текстовый файл, его можно самому поменять - если знать как. Или сделать через setxkbmap, но я предпочитаю менять прямо в клавиатурном плане - мне, например не нравится, что Х делает различия между Enter и Gray Enter (клавиша "Ввод" на правом краю клавиатуры за цифровым блоком. Она носит такое название потому что раньше, когда клавы были только белые, цифровая группа делалась серой) и я всегда меняю план таким образом, чтобы Gray Enter генерил тот же код что и Enter обычный :)