Next Previous Contents

2. Setting up international keyboard in X Windows

The biggest problem with kikbd or international keyboard under KDE in X Windows is that it doesn't work in Xfree86 that easily (you have to install some national packages and write garbage to the above-mentioned files). A user expects a simple way for configuring his or her keyboard for international settings. A simple way is to start KDE, change the international keyboard settings and immediately write in the language we chose (this will work for German and other languages, but in Eastern European keyboards some letters may not function in a system specific environment). According to the KDE documentation it should work, but it doesn't. After exploring many KDE resources on the net some time ago, I didn't find a solution (except for the one that forces you to install some national package). I know that some locale settings should be included in my bash_profile or csh login scripts, but after applying these settings I couldn't change (and install) keyboards in FreeBSD and it appeared like going through a darker forest compared to the information I already had regarding localization of KDE and X Windows under Xfree86. Here are some solutions for installing international keyboard layouts. If you want to write the "garbage", try to put the following in your FreeBSD or BSD bash_profile (or even Linux, but certainly not RedHat; RedHad Linux has very good international customization and my Czech RedHat does not require manipulation of bash_profile file at all):

LC_ALL=slovak (or any other language)

LANG=slovak (or any other language)

This is enough. Just continue reading.

2.1 Use of this information may be system-specific

The following information will help you set up any European keyboard layout (good for some older systems if the LC_ALL=language etc. doesn't work. However, this LC_ALL=language solution works in FreeBSD 4.1, but you must have ISO8859-2 fonts installed).

The next solution works for Xfree86 in FreeBSD 3.1 RELEASE (.Xmodmap solution), Corel Linux, Debian Linux, RedHat and FreeBSD 3.3 RELEASE and 4.0 RELEASE (KDE *.kimap solution). This solution maybe also useful when you use on older computer and older system, as some newer systems refuse to run on a 386 or 486 processor computer with less RAM. I tested it on those systems. Note: .Xmodmap solution works well with other windows managers.

Some Unixes override .Xmodmap setting when used with KDE. If .Xmodmap doesn't work, change must be made to the KDE kimap files in ../kikbd directory. This also pertains to LC_ALL=language; LANG=language solution. If .Xmodmap solution doesn't work in KDE, copy skz.kimap (at the end of this article) to /usr/local/share/apps/kikbd (FreeBSD), or to /usr/share/apps/kikbd directory (RedHat), which is your KDE keyboard directory. The problem with KDE is that after installing another keyboard, you have no chance to use (at least in older versions) it as KDE documentation doesn't clearly state how to define your locale settings in a bash_profile. After I installed Slovak keyboard in KDE, I couldn't write in Slovak or Czech, so I made few changes to skz.kimap file, which are explained later in this file. After applying these changes, no other changes are necessary - you don't need to write any special commands to your bash_profile or XF86Config. BUT WHEN YOU INSTALL ANOTHER KEYBOARD in START/SETTINGS/INPUT DEVICES/INTERNATIONAL KEYBOARDS from your KDE menu, CHECK AUTOSTART. Then everything will work fine. The difference between skz.kimap and sky.kimap (and csz.kimap and csy.kimap) is that y,Y and z,Z are swapped, so with skz.kimap or csz.kimap you will have z,Z instead of y,Y, but with sky.kimap or csy.kimap, y,Y doesn't change its position on the IBM English keyboard layout.

2.2 How to do it

!!!BEAR IN MIND. THE FOLLOWING IS NOT NECESSARY IF YOUR LOCALIZATION WORKS BY PUTTING

LC_ALL=language

LANG=language

in your bash_profile. However, you must install the pertinent language fonts and put path in XF86Config file to these fonts.

a) Copy the "Compose" file from /usr/X11R6/lib/X11/locale/iso8859-2 to: /usr/X11R6/lib/X11/locale/iso8859-1 directory (yes, iso8859-1, not iso8859-2). Back up the original "Compose" file if you want (alternatively, copy other iso885*** Compose file to iso8859-1 directory).

b) Put the included .Xmodmap file to your root directory (Slovak language, or make your own .Xmodmap file) (or possibly put your own *.kimap file to the kikbd directory if Xmodmap will not work)

c) Install ISO8859-2 fonts (or other pertinent fonts).

d) Disable every "Scroll lock" uncommented line in your XF86Config, because our .Xmodmap uses scroll lock to switch between keyboards.

e) Put the appropriate fontpath for your newly installed fonts in our XF86Config file, if necessary. The .Xmodmap solution may be applied to all X keyboards; .Xmodmap file overrides all settings of keyboard layouts as defined in /usr/X11R6/lib/X11/xkb/symbols/, where are symbols for many international keyboards. The .Xmodmap solution will give you an enhanced Slovak typewriter keyboard layout. First, I must say that in my solution, different mapping is used for .Xmodmap file (and kimap file) for some ISO definitions. This means that the ISO definitions will either give you what they say they are (aacute [á], eacute [é], etc.), or they will not give you what they say they are (putting "threequarters" in your .Xmodmap file will give not give you "3/4" but "z" with a caron above it). For example, "mu" will give lcaron, "oslash" rcaron, etc. (Obviously, in other case you need to install some national packages to use "lcaron" definition instead of "mu"). Normally, you can not put "lcaron" to the .Xmodmap file, because it will not give you lcaron; you must write "mu" instead, or "guillemotright" for tcaron (again, you may avoid this if the "LANG=language" solution in your bash_profile works). I also tried hexadecimal numbers and they work.

However, other key definitions, for example, adieresis (a with two dots above it), uacute (u with slash above it), as well as dead_diaeresis do not require a substitution of other definitions and work pretty well as they're defined everywhere (dead key is a key when you press it, hold it yet nothing happens, but after pressing another key you will get a special letter).

The original "Compose" file in ../iso8859-1 directory can be fully utilized for Slovak or Czech keyboard layouts (Polish, Hungarian, Slovenian, Croatian), but there is only one problem with the Slovak or Czech keyboard (and other languages too) layout - dead_caron doesn't work. That's why you have to copy the "Compose" file from the iso8859-2 directory to iso8859-1 directory, or alternatively, you can edit the "Compose" file in iso8859-1 directory and put all references about "dead_caron" from iso8859-2/Compose to iso8859-1/Compose file. You can leave the Keyboard section in your XF86Config without much change. Put (if it's not already there) the following in the "Keyboard" section: Section "Keyboard"

Protocol "Standard"

XkbRules "xfree86"

XkbModel "pc101"

XkbLayout "us"

The above doesn't have to be changed if

LC_ALL=language

LANG=language

solution works. The LC_ALL=language solution treats the dead_caron or any dead key well.

Some X Windows managers and/or environments override .Xmodmap settings, so if you use KDE and .Xmodmap doesn't work, use kikbd keymap instead of .Xmodmap. (A sample kikbd kimap for the Slovak language is included at the bottom of this file). The Slovak/Czech/English keyboard layout is switched to by a scroll lock. You may use languages only with the applications that have access to your ISO-8859-2 (or other fonts) fonts (this may not work with StarOffice or with other applications that have their own built-in fonts). StarOffice has its own fonts directory for afm fonts in ../xp3/fontmetrics/afm, and ps fonts in../xp3/pssoftfonts, so you must add the ISO8859-2 fonts directory to these directories (to tell StarOffice to use these fonts too) and edit fonts.dir file and add the symlinked fonts there. I can easily write with any language in StarOffice. Important note: If you want to exchange documents between StarOffice 5.1 or WordPerfect and MS Word, you must include the information about the windows 1250 encoding to the file you write (win1250 is similar to iso8859-2, but it's a little bit different). This doesn't need to be done if you use StarOffice 5.2, but for the older versions, you must use a converter from iso8859-2 to win1250. You can find one at my home page at htmlurl url="http://www.home.sk/www/man/bsd1.htm" name="http//www.home.sk/www/man/bsd1.htm" or at htmlurl url="http://freebsd.nfo.sk" name="http://www.freebsd.nfo.sk".

2.3 Xmodmap theory

If you want to edit and make your own .Xmodmap keyboard layout definitions, I'll explain one line of the .Xmodmap file to make clear what you should do.

This explanation can be used for all keycodes. For example, the line: keycode 0x11 = 8 asterisk aacute 8 (note: keycode 0x11 is derived from xkeycaps utility; you can also use the X Windows "xev" utility to play more with keyboard puzzles) says that the first pair, the default one, (number "8" and "asterisk") will display number "8" when you press keycode 0x11 ("8"), will display asterisk when a "shift" key is pressed. After pressing the scroll lock, there's another definition: ISO_NEXT_GROUP, which means that when you press the default "8" key, no "8" will be displayed, but aacute ("á"); when you press the "shift" key, number "8" will be displayed. So if you change "aacute" and "8", anything you put instead of "aacute" and "8" will be displayed, for example:

keycode 0x11 = 8 asterisk semicolon colon

will give you "semicolon" and "colon" in your 0x11 keycode after pressing the scroll lock. If you delete the ISO_NEXT_GROUP (the next pair of definitions on the right), you will have only one group of keyboard definitions ("8" and "asterisk"). Be careful when editing the .Xmodmap file. You mustn't delete definitions that enable utilization of the scroll lock unless you know what you are doing. These are the lines such as: keycode 0x4e = ISO_Next_Group add mod5 = ISO_Next_Group etc. You must also keep in mind that Unixes are case sensitive. If you want to find out more about keycodes, install the package "xkeycaps" or use "xev".

2.4 Xmodmap sample file for the Slovak language typewriter layout _______________________cut_here_________________________

keycode 0x09 = Escape

keycode 0x43 = F1 F11 F1 Multi_key

keycode 0x44 = F2 F12 F2 F12

keycode 0x45 = F3 F13 F3 F13 idiaeresis

keycode 0x46 = F4 F14 F4 F14 mu yen

keycode 0x47 = F5 F15 F5 F15 guillemotright guillemotleft

keycode 0x48 = F6 F16 F6 F16 ograve

keycode 0x49 = F7 F17 F7 dead_abovedot oacute

keycode 0x4A = F8 F18 F8 dead_breve acute

keycode 0x4B = F9 F19 F9 dead_cedilla ugrave

keycode 0x4C = F10 F20 F10 dead_ogonek

keycode 0x5F = F11 F21 dead_acute dead_caron

keycode 0x60 = F12 F22 dead_abovering dead_diaeresis

keycode 0x6F = Print Execute dead_iota

keycode 0x4E = ISO_Next_Group

keycode 0x6E = Pause

keycode 0x31 = grave asciitilde semicolon dead_diaeresis

keycode 0x0A = 1 exclam plus 1

keycode 0x0B = 2 at mu 2

keycode 0x0C = 3 numbersign onesuperior 3

keycode 0x0D = 4 dollar egrave 4

keycode 0x0E = 5 percent 0x0bb 5

keycode 0x0F = 6 asciicircum threequarters 6

keycode 0x10 = 7 ampersand yacute 7

keycode 0x11 = 8 asterisk aacute 8

keycode 0x12 = 9 parenleft iacute 9

keycode 0x13 = 0 parenright eacute 0

keycode 0x14 = minus underscore equal percent

keycode 0x15 = equal plus dead_acute dead_caron

keycode 0x33 = backslash bar ograve parenright

keycode 0x16 = BackSpace

keycode 0x6A = Insert

keycode 0x61 = Home

keycode 0x63 = Prior

keycode 0x4D = Num_Lock Pointer_EnableKeys

keycode 0x70 = KP_Divide slash

keycode 0x3F = KP_Multiply asterisk

keycode 0x52 = KP_Subtract minus

keycode 0x17 = Tab ISO_Left_Tab

keycode 0x18 = q Q

keycode 0x19 = w W

keycode 0x1A = e E

keycode 0x1B = r R

keycode 0x1C = t T

keycode 0x1D = y Y z Z

keycode 0x1E = u U

keycode 0x1F = i I

keycode 0x20 = o O

keycode 0x21 = p P

keycode 0x22 = bracketleft braceleft acute slash

keycode 0x23 = bracketright braceright diaeresis parenleft

keycode 0x24 = Return

keycode 0x6B = Delete

keycode 0x67 = End

keycode 0x69 = Next

keycode 0x4F = KP_Home 7 KP_Home

keycode 0x50 = KP_Up 8

keycode 0x51 = KP_Prior 9

keycode 0x56 = KP_Add plus

keycode 0x42 = Caps_Lock

keycode 0x26 = a A

keycode 0x27 = s S

keycode 0x28 = d D

keycode 0x29 = f F

keycode 0x2A = g G

keycode 0x2B = h H

keycode 0x2C = j J

keycode 0x2D = k K

keycode 0x2E = l L

keycode 0x2F = semicolon colon ocircumflex quotedbl

keycode 0x30 = apostrophe quotedbl section exclam

keycode 0x53 = KP_Left 4

keycode 0x54 = KP_Begin 5

keycode 0x55 = KP_Right 6

keycode 0x32 = Shift_L ISO_Next_Group

keycode 0x34 = z Z y Y

keycode 0x35 = x X

keycode 0x36 = c C

keycode 0x37 = v V

keycode 0x38 = b B

keycode 0x39 = n N

keycode 0x3A = m M

keycode 0x3B = comma less comma question

keycode 0x3C = period greater period colon

keycode 0x3D = slash question minus underscore

keycode 0x3E = Shift_R

keycode 0x62 = Up

keycode 0x57 = KP_End 1

keycode 0x58 = KP_Down 2

keycode 0x59 = KP_Next 3

keycode 0x6C = KP_Enter Return

keycode 0x25 = Control_L ISO_Next_Group

!keycode 0x40 = Alt_L Meta_L

keycode 0x40 = Meta_L Alt_L

keycode 0x41 = space

keycode 0x71 = Alt_R Meta_R

keycode 0x6D = Control_R

keycode 0x64 = Left

keycode 0x68 = Down

keycode 0x66 = Right

keycode 0x5A = KP_Insert 0

keycode 0x5B = KP_Delete period

!keysym Alt_L = Meta_L

!keysym F12 = Multi_key

clear Shift

!clear Lock

clear Control

clear Mod1

clear Mod2

clear Mod3

clear Mod4

clear Mod5

add Shift = Shift_L Shift_R

add Control = Control_L Control_R

!add Mod1 = Alt_L Alt_R

add Mod1 = Meta_L Alt_R

add Mod2 = Num_Lock

add Mod5 = ISO_Next_Group

!add Mod1 =

!add Mod2 = Alt_R Alt_L Mode_switch

keycode 0x73 = ISO_Next_Group

keycode 0x74 = dead_acute dead_diaeresis

keycode 0x75 = dead_caron dead_abovering

_____________________________cut_here_____________________________

2.5 KDE Kimap file for the Slovak language

Now follows the KDE skz.kimap Config File, modified by me. You may manipulate this file according to my information and name it as skz.kimap and copy it to KDE ../kikbd directory mentioned above. If you want to use your own experimental keyboard layout, manipulate an existing kimap file but keep a copy of it.

_________________________cut_here________________________________

[International Keyboard]

Label=Skz

Locale=sk

[KeyboardMap]

CapsSymbols=q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m

keysym0=1,plus,1,exclam,,

keysym1=2,mu,2,at,,

keysym2=3,onesuperior,3,numbersign,,

keysym3=4,egrave,4,dollar,,

keysym4=5,0x0bb,5,percent,,

keysym5=6,threequarters,6,asciicircum,,

keysym6=7,yacute,7,ampersand,,

keysym7=8,aacute,8,asterisk,,

keysym8=9,iacute,9,parenleft,,

keysym9=0,eacute,0,parenright,,

keysym10=minus,equal,percent,minus,underscore,

keysym11=grave,dead_diaeresis,dead_circumflex,grave,asciitilde,

keysym12=equal,dead_acute,dead_caron,equal,plus,

keysym13=bracketleft,uacute,slash,bracketleft,braceleft,

keysym14=bracketright,adiaeresis,parenleft,bracketright,braceright,

keysym15=semicolon,ocircumflex,quotedbl,semicolon,colon,

keysym21=y,z,Z,,,

keysym22=z,y,Y,,,

#I changed some keysyms above ("mu" instead of "lcaron") and added #the following lines:

keycode43=51,ograve,parenright,backslash,bar,

keycode40=48,section,exclam,apostrophe,quotedbl,

keycode51=59,comma,question,less,comma,

keycode52=60,period,colon,period,greater,

keycode53=61,minus,underscore,slash,question,

______________________cut_here___________________________

(The numbers of keycodes are derived from the "xkeycaps" utility)

2.6 Character sets

The purpose of the following info is to help you build any .Xmodmap or kimap keyboard layout with iso8859-2 or other character sets. The ISO-8859-2 Character Set file is included here for you to know which names are used for pertinent keys. You should not bother about the numbers, but notice how keys are named. Much of this information is usefull to build a keyboard with ISO-8859-1 characters only, or a combination of Eastern European characters and Western characters. If you're going to use other languages than the Central European ones, find a pertinent table for your ISO*** character set on Internet. The gdkkeysyms.h file is in (RedHat) /usr/include/gdk/gdkkeysyms.h and it contains all the special names we're using here (it also contains names of Greek characters).

2.7 ISO-8859-2 (ISO Latin2) character set

octal hex PostScript HTML entity character

----------------------------------------------------------------------

040 0x20 /space

041 0x21 /exclam !

042 0x22 /quotedbl " "

043 0x23 /numbersign #

044 0x24 /dollar $

045 0x25 /percent %

046 0x26 /ampersand & &

047 0x27 /quoteright '

050 0x28 /parenleft (

051 0x29 /parenright )

052 0x2a /asterisk *

053 0x2b /plus +

054 0x2c /comma ,

055 0x2d /hyphen -

056 0x2e /period .

057 0x2f /slash /

060 0x30 /zero 0

061 0x31 /one 1

062 0x32 /two 2

063 0x33 /three 3

064 0x34 /four 4

065 0x35 /five 5

066 0x36 /six 6

067 0x37 /seven 7

070 0x38 /eight 8

071 0x39 /nine 9

072 0x3a /colon :

073 0x3b /semicolon ;

074 0x3c /less < <

075 0x3d /equal =

076 0x3e /greater > >

077 0x3f /question ?

0100 0x40 /at @

0101 0x41 /A A

0102 0x42 /B B

0103 0x43 /C C

0104 0x44 /D D

0105 0x45 /E E

0106 0x46 /F F

0107 0x47 /G G

0110 0x48 /H H

0111 0x49 /I I

0112 0x4a /J J

0113 0x4b /K K

0114 0x4c /L L

0115 0x4d /M M

0116 0x4e /N N

0117 0x4f /O O

0120 0x50 /P P

0121 0x51 /Q Q

0122 0x52 /R R

0123 0x53 /S S

0124 0x54 /T T

0125 0x55 /U U

0126 0x56 /V V

0127 0x57 /W W

0130 0x58 /X X

0131 0x59 /Y Y

0132 0x5a /Z Z

0133 0x5b /bracketleft [

0134 0x5c /backslash \

0135 0x5d /bracketright ]

0136 0x5e /asciicircum ^

0137 0x5f /underscore _

0140 0x60 /quoteleft `

0141 0x61 /a a

0142 0x62 /b b

0143 0x63 /c c

0144 0x64 /d d

0145 0x65 /e e

0146 0x66 /f f

0147 0x67 /g g

0150 0x68 /h h

0151 0x69 /i i

0152 0x6a /j j

0153 0x6b /k k

0154 0x6c /l l

0155 0x6d /m m

0156 0x6e /n n

0157 0x6f /o o

0160 0x70 /p p

0161 0x71 /q q

0162 0x72 /r r

0163 0x73 /s s

0164 0x74 /t t

0165 0x75 /u u

0166 0x76 /v v

0167 0x77 /w w

0170 0x78 /x x

0171 0x79 /y y

0172 0x7a /z z

0173 0x7b /braceleft {

0174 0x7c /bar |

0175 0x7d /braceright }

0176 0x7e /tilde  

0177 0x7f non-printable

0240 0xa0 /space

0241 0xa1 /Aogonek

0242 0xa2 /breve

0243 0xa3 /Lslash

0244 0xa4 /currency

0245 0xa5 /Lcaron

0246 0xa6 /Sacute

0247 0xa7 /section

0250 0xa8 /dieresis

0251 0xa9 /Scaron

0252 0xaa /Scedilla

0253 0xab /Tcaron

0254 0xac /Zacute

0255 0xad /hyphen

0256 0xae /Zcaron

0257 0xaf /Zdotaccent

0260 0xb0 /degree

0261 0xb1 /aogonek

0262 0xb2 /ogonek

0263 0xb3 /lslash

0264 0xb4 /acute

0265 0xb5 /lcaron

0266 0xb6 /sacute

0267 0xb7 /caron

0270 0xb8 /cedilla

0271 0xb9 /scaron

0272 0xba /scedilla

0273 0xbb /tcaron

0274 0xbc /zacute

0275 0xbd /hungarumlaut

0276 0xbe /zcaron

0277 0xbf /zdotaccent

0300 0xc0 /Racute

0301 0xc1 /Aacute Á

0302 0xc2 /Acircumflex Â

0303 0xc3 /Abreve

0304 0xc4 /Adieresis Ä

0305 0xc5 /Lacute

0306 0xc6 /Cacute

0307 0xc7 /Ccedilla Ç

0310 0xc8 /Ccaron

0311 0xc9 /Eacute É

0312 0xca /Eogonek

0313 0xcb /Edieresis Ë

0314 0xcc /Ecaron

0315 0xcd /Iacute Í

0316 0xce /Icircumflex Î

0317 0xcf /Dcaron

0320 0xd0 /Eth Ð

0321 0xd1 /Nacute

0322 0xd2 /Ncaron

0323 0xd3 /Oacute Ó

0324 0xd4 /Ocircumflex Ô

0325 0xd5 /Ohungarumlaut

0326 0xd6 /Odieresis Ö

0327 0xd7 /multiply

0330 0xd8 /Rcaron

0331 0xd9 /Uring

0332 0xda /Uacute Ú

0333 0xdb /Uhungarumlaut

0334 0xdc /Udieresis Ü

0335 0xdd /Yacute Ý

0336 0xde /Tcedilla

0337 0xdf /germandbls ß

0340 0xe0 /racute

0341 0xe1 /aacute á

0342 0xe2 /acircumflex â

0343 0xe3 /abreve

0344 0xe4 /adieresis ä

0345 0xe5 /lacute

0346 0xe6 /cacute

0347 0xe7 /ccedilla ç

0350 0xe8 /ccaron

0351 0xe9 /eacute é

0352 0xea /eogonek

0353 0xeb /edieresis ë

0354 0xec /ecaron

0355 0xed /iacute í

0356 0xee /icircumflex î

0357 0xef /dcaron

0360 0xf0 /dbar

0361 0xf1 /nacute

0362 0xf2 /ncaron

0363 0xf3 /oacute ó

0364 0xf4 /ocircumflex ô

0365 0xf5 /ohungarumlaut

0366 0xf6 /odieresis ö

0367 0xf7 /divide

0370 0xf8 /rcaron

0371 0xf9 /uring

0372 0xfa /uacute ú

0373 0xfb /uhungarumlaut

0374 0xfc /udieresis ü

0375 0xfd /yacute ý

0376 0xfe /tcedilla

0377 0xff /dotaccent

----------------------------------------------------------------------

First, try to see if definitions will give you (after installing pertinent fonts and keyboard in X) what they say they are. If they will not give you what they say they are (some keycodes will be unfunctional), then you must make a substitution. Definitions which will not give you what they say they are (when the LC_ALL=language solution does not work) can be traced by their visual shape in Western Latin 1 encoding. For example, if you load a Slovak website, do not use ISO8859-2 character set encoding for viewing, but Western ISO8859-1 encoding for viewing. Thus you will see bad fonts with letters like micron and so on. You will see what you must substitute. But if you don't know what "?" is called in ISO terminology, find and download an appropriate character set table for ISO-8859-1. (However, much of the information can be used from the above ISO8859-2 Character Set Table.) It must be somewhere on the net.

The following symbols on your right is what I found out through my research. This is just an example. When you use a "Pound" definition in Xmodmap or kimap file, the X Windows will display you a Lslash instead (in relation to using iso8859-2 fonts of course). When you choose some easy KDE Text Editor, select iso8859-2 fonts. NOTE: vowel *acute signs require no substitution, therefore I omitted iacute, aacute etc.

0243 0xa3 /Lslash "Pound" in Xmodmap or kimap file will give you Lslash.

0245 0xa5 /Lcaron Writing "yen" to kimap or Xmodmap file wil give us Lcaron

0251 0xa9 /Scaron copyright (will give us Scaron)

0253 0xab /Tcaron guillemotleft (will give us Tcaron)

0256 0xae /Zcaron registered

0265 0xb5 /lcaron mu

0271 0xb9 /scaron onesuperior

0273 0xbb /tcaron guillemotright

0276 0xbe /zcaron threequarters

0306 0xc6 /Cacute find out yourself

0312 0xca /Eogonek find out yourself

0313 0xcb /Edieresis Edieresis

0314 0xcc /Ecaron find out yourself

0317 0xcf /Dcaron find out yourself

0321 0xd1 /Nacute Ograve

0322 0xd2 /Ncaron find out yourself

0324 0xd4 /Ocircumflex Ocircumflex

0350 0xe8 /ccaron egrave

0361 0xf1 /nacute ntilde

You may experiment to find out which definitions will give you which characters, it shouldn't be difficult. This is just a hint on how to start. I didn't go on to investigate further definitions because I have my Slovak and Czech keyboards and I'm not, for now, interested to use other keyboards. Look at my homage and build your own keyboard.


Next Previous Contents