Linux console tools development discussion
 help / color / mirror / Atom feed
From: kalle <>
To: Alexey Gladkov <>,
	Linux console tools development discussion
Subject: Re: [kbd] man keymaps
Date: Sun, 6 Aug 2017 18:20:19 +0200
Message-ID: <> (raw)
In-Reply-To: <20170806122848.GB28006@comp-core-i7-2640m-0182e6.fortress>

>> *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! :)



  reply	other threads:[~2017-08-06 16:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-23  5:51 kalle
2017-08-06 12:28 ` Alexey Gladkov
2017-08-06 16:20   ` kalle [this message]
2017-08-11 12:04 ` Oleg Bulatov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux console tools development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror kbd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 kbd kbd/ \
	public-inbox-index kbd

Example config snippet for mirrors.
Newsgroup available over NNTP:

AGPL code for this site: git clone