[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

keymaps



Dear all,

I have some problems with the maping of my keyboard.
I read all the manuals and howto's about it.
What is about?


My `k' key generate:

 o  normal:              k
 o  shift:               K
 o  alt:                 k
 o  alt+shift:           K
 o  meta:                ë (e with 2 dots above)
 o  meta+shift:          Ë (E with 2 dots above)
 o  meta+alt:            ë (e with 2 dots above)
 o  meta+alt+shift:      Ë (E with 2 dots above)
 o  ctrl:                compose
 o  ctrl+shift:          compose
 o  ctrl+alt:            compose
 o  ctrl+alt+shift:      compose
 o  ctrl+meta:           ? (don't know, it show as ~K as one character, I assume it is a command)
 o  ctrl+meta+shift:     compose
 o  ctrl+alt+meta:       ? (don't know, it show as ~K as one character, I assume it is a command)
 o  ctrl+alt+meta+shift: ? (don't know, it show as ~K as one character, I assume it is a command)
 o  capslock:            K

Other modifiers don't change the value of the key. (numlock,
scrolllock, etc.) I have a PC 104 keyboard. XKeyCaps 2.46 call
it: ``PC 104 key, wide Delete, short Enter, XFree86; US'' or
PCOW104.

First question I had: From where is coming the letter with 2 dots
on the e? If I could find out, I could change this behavior.

I opened xkeycaps and I changed the capital `K' with Icircumflex.
Now the meta+k generate still the e with 2 dots, but the
meta+shift+k generate Icircumflex as well as the shift+k. I
changed also the `k' to generate icircumflex. I got a similar
answer. Now k as well as meta+key generate icircumflex.
I reset the changes, and I edit the `k' key to generate k, K,
1, 2, 3, 4, 5 and 6. Doesn't mater which combinations of
modifiers I use the behavior is the same as it was at the
very beginning. The digits are not generated at all, and the
e and E with 2 dots are generated with meta key.

I reseted all the changes because I realize that xmodmap and
xkeycaps can't help me.

I went to ``http://www.ibiblio.org/mdw/HOWTO/Keyboard-and-Console-HOWTO.html''
to read ``The Linux keyboard and console HOWTO''.
In chapter 15. Examples of use of loadkeys and xmodmap, it shows
how to make F12 produce the string "emacs ". It does not work at
all. Dumpkeys show that I did the change but if I press F12 
I still have the same string of characters: "\033[24~".

Next I try to change /etc/console-tools/default.kmap.gz:
the line `keycode  37 = k' into `keycode  37 = k Icircumflex'
(run loadkeys)  ==> no change
the line `keycode  37 = k' into `keycode  37 = icircumflex'
(run loadkeys)  ==> no change

Next I change in /usr/src/kernel-source-2.2.17/drivers/char/defkeymap.map
the line ``keycode  37 = k' into `keycode  37 = icircumflex       Icircumflex     k k k k k k'.
I recompile the kernel  ==> no change. With this new kernel I changed again
/etc/console-tools/default.kmap.gz but no better luck.

Conclusions: I don't understand who/what is responsible with the key binding.

What I want in fact? Check the table:


I have		I want

normal:
`1234567890-=	`1234567890-=
qwertyuiop[]\	ãºertþuiop[]\
asdfghjkl;'	asdfghjîl;'
zxcvbnm,./	zxcvbnm,./

Shift:
~!@#$%^&*()_+	~!@#$%^&*()_+
QWERTYUIOP{}|	êERTÞUIOP{}|
ASDFGHJKL:"	ASDFGHJÎL:"
ZXCVBNM<>?	ZXCVBNM<>?

Meta:
à±²³´µ¶·¸¹°­½	­­­­­­­­­­­­­
ñ÷åòôùõéïðÛÝÜ	qw­­­y­­­­­­­
áóäæçèêë컧	â­­­­­­k­­­
úøãöâîí¬®¯	­­­­­­­­­­

Meta+Shift:
þ¡À£¤¥Þ¦ª¨©ß«	­­­­­­­­­­­­­
Ñ×ÅÒÔÙÕÉÏÐûýü	QW­­­Y­­­­­­­
ÁÓÄÆÇÈÊË̺¢	­­­­­­K­­­
ÚØÃÖÂÎͼ¾¿	­­­­­­­­­­


If nothing can be done I am willing to write a driver. Where I can
read a manual about?

Thank you for your help,

Ionel Ciobica


P.S. In fact I want to have an alternate Romanian keyboard. The default one
(for Romanian) is silly. It assigns the key {[, ]}, |\, ;: and '" to Romanian
letters: acircumflex, icircumflex, tcommabelow, scomabelow, abreve.
This is not good enough because those key are in heavy use, especially
if one uses latex. I want to change the q, w, y and k keys which doesn't
bellong to Romanian language and are not use in Romanian texts.

Currently I solve somehow the problem by having two .vimrc files.
For Romanian text: I have a script which copy the Romanian .vimrc to
~/.vimrc and then open vim.
A sample of the .vimrc file:
:inoremap k î
:inoremap K Î
:inoremap ë k
:inoremap Ë K
etc.

I can't assign abreve to a key but rather atilde and then use a iso-8859-2
font encoding to see it right.




Reply to: