Про ваш способ ничего не скажу. Но можно переопределить кнопки средствами xkb. Возможно, это не совсем то, но работает. Правда, на счет Caps Lock я не уверен, можно ли ее переопределить. Может и можно, но у меня не получилось. Можно переопределить, например, тильду: при обычном нажатии будет печататься тильда, а двойка - при нажатой правой ALT. С какой раскладкой работаете?