[kbd] man keymaps

kalle kalle at projektwerkstatt.de
Sun Aug 6 19:20:19 MSK 2017

>> *keysym: what does the term stand for? why 'symbol'? what does 'keyboard
>> actions' mean? is keyboard induced action possibly better? how is this
>> set of actions related to the specific kernel (driver?)?
> what do you mean by "specific kernel driver" ?

i think there are a lot of different kernels (versions). I don't really
know what a keyboard driver is and does. But I suppose that there are
different ones. If the kernel driver translates scancodes into keyboard
actions, I assume the latter are driver-dependant. This is what I meant
by "specific kernel driver".

>> *'outputting character codes' -> explain more precisely what is meant
>> here by 'character codes'

> why ?

what irritates me, is that on one side I associate a binary/hexadecimal
code to the term "character code" (who according to the keyboard layout
is interpreted as a different character), on the other side the command
dumpkeys, who describes the keyboard actions, names some actions `A' or
`a',`b'. I assume, that a symbol like `a' describes the keycode
corresponding to the asciicode, but with another code , the symbol `a'
could mean another letter.

>> *first the term 'keysyms' should be explained in detail, before
>> explaining special keysyms as modifiers are, e.g. the section "keysyms
>> can be given in decimal, octal" should be before the modifier part
> why ?

well, because I think the general should come before the special.

>> *the modifier-part is in my opinion badly explained - I roughly propose
>> the following:
>> to every key there are 2^8=256 (?) possibilities/modes of outputting
>> symbols (defined by the kernel driver?)
>> The 2^8 modes can be represented by eight binary digits, or interpreted
>> as a binary number with 8 (?) digits, e.g. 010000101. The first digit
>> standing , the last one for units of 2^0=1, in this example
>> 0*2^7+0*2^6+0*2^5+0*2^4+0*2^3+1*2^2+0*2^1+1*2^0=133.
> This description confuses even me. I believe that it is as described
> modifiers are now quite clear.

There is a mistake in my explanation - it should say: "The first digit
stands for units of 2^8=256 […]"
Is it better now? Is my explanation technically correct?

What irritates me, is that each key can -according to the modifiers
switched - produce 256 different keyboard actions, as there are 9
modifiers and should therefore be 2^9=512 possibilities.

My goal was to explain the relationship between the differenlty named
modifiers and the 256 columns of key-actions associated to keys, e.g.
that one finds the result of the combination of
Control(2^2=4)-Alt(2^3=8)-Shift(2^0=1)-`g' in the 8+4+1=13 th column of
the scan code `28' (german keyboard).  The explanation continues in the
part below.

>> The different digits are called modifiers, since by combination of all
>> their different states (0 or 1) they are able to produce 256 (?) modes,
>> where the default one is when all modifiers are off (=0) so 00000000
>> binary is also 0 decimal number. These modifiers are keysyms thus their
>> state can be changed by typing some keys and out of historical
>> development have been given following names:
>> modifier name 				power of 2		decimal value
>> Shift					0		1
>> AltGr			Alternate Graph 1		2
>> 				ics
>> Control					2		4
>> Alt					3		8
>> ShiftL			left Shift key	4		16
>> ShiftR			right Shift key 5		32
>> CtrlL			left Control key6		64
>> CtrlR			right Control k.7		128
>> CapsShift				8		256
> You want to make a describe the binary arithmetic for noobs ?

see above. But of course, I think it shoudn't be necesseary to know
binary arithmetics already to learn unix. If you know a manpage, where
it is described already, it would make sense to link to it. Furthermore,
I want to stress on the 'historical background' of some terms as the
names of the modifiers. As the previous author as I suppose wanted to
demystify them by describing them as "completely arbitrarily", which is
not really correct.

>> *I don't understand the example of the part starting with "Note that you
>> should be very careful[…]",because it tells that the Control modifier
>> stays switched on, until it is produced again by typing in the same key.
> I think this paragraph is quite clear in manpage. It describes what can
> happen if the keymap is wrong.

I mean - the Control modifier doesn't stay switched on, if i typed it
once,doesn't it?

>> *To the sentence "these are actually being defined" add "by the map
>> specification line, see above"
>> *to "it has a special meaning" add: "to loadkeys (1)"?
> Patches are welcome! :)



More information about the kbd mailing list