Harsh but fair

Open source chicanery and the battle with my inner geek

Archive for January 13th, 2007

Cyrillic Russian Keyboard – A Solution

Posted by raetsel on January 13, 2007

Well thanks to some help from Tim Fennel via a post I made to the South Birmingham Linux User Group mailing list, I have been able to achieve what I wanted. I am now able to use my Russian keyboard, type in a vowel and then by pressing the Right-Ctrl key and the apostrophe an acute accent is added over the vowel (о́ а́ е́ ы́ ю́ ) as it happens I can now put the accent after any character.

I notice they show up a little too far off to the right here and on other websites. I think this is an affect of how HTML interprets the codes when I post them, but where it matters for me i.e. KDE apps like KWordQuiz they display perfectly.

Following some info from Tim I experimented with a few things and came across this really useful guide by Daniel O’Donnel about keyboard layouts and xkb.

I won’t tell you all the dead ends and time I wasted, the solution came down to this:-

  • I added a third level chooser value for the apostrophe key in the layout file by changing this line :-

key <AC11> { [ Cyrillic_e, Cyrillic_E, ] };

to this

key <AC11> { [ Cyrillic_e, Cyrillic_E, U0301 ] };

U tells xkb it’s a Unicode value that follows and 0301 is the hexadecimal value for a Combining Diacritic Mark for an acute accent.

  • Finally I set the Right Control Key to be the third level chooser key in the KControl Regional & Language settings under the XKB Options tab of the Keyboard Layout section.

Some things I found out the hard way are :-

1) Don’t call your keyboard map anything with underscores in as this is seebs to be used for variants of keyboards. ( I had initially called my new keyboard map in a file called ru_sjs and this kept erroring ).

2) Don’t test your results in a Konsole or other terminal session as this will add another layer of complexity as the terminal emulation can strip of codes etc. use a GUI KDE app or Open Office. (Oh how I laughed when I found out I’d solved the problem an hour before but I was not testing it in the right application.)

Even if you don’t have fancy requirements for non-latin alphabets using the techniques above you can have access to accented English letters for peoples names or borrowed words in English.

Touchе́  Turtle Away!

Posted in Technical | 6 Comments »

 
Follow

Get every new post delivered to your Inbox.