From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU autolearn=ham autolearn_force=no version=3.4.1 X-Virus-Scanned: Debian amavisd-new at netzguerilla.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=projektwerkstatt.de; s=fckp; t=1502036425; bh=D6WMLz1bCHruZ9xGWgBOcHOcxwhQYTfkDGSLboc/TJU=; h=Subject:To:References:From:Date:In-Reply-To:From; b=d4gJIs9rePYsJVlbbwNubBTjTANlvN/4rKYKYun1dckD7Sh+iFCkrJKyj1to7VN34 LSno1X6SbLpR5ahhbBq6I0hz+CvS8prmyEHnR8X0Nrrs8mH8/qsRds18mnKUtIrJ4O VLizekb+/Bact5s9sqM19q5i/TZ3PyuoqBUH0TymM7uYOC7kQ70XBNRivAX7yG7t6Z nqubgzNyASNiFcWQmkgsJbPpRG0x8hGRYONBtf0vt/ixgpwvoi4UIqSfCxGuDRgk3S 9y9YQOia6z8WC5bEd419a+HPFczWjv5b9BijvNtDbW1b0nOH5ynL2dFzGmqD4KPKlF QgxTf03r1mskQ== To: Alexey Gladkov , Linux console tools development discussion References: <0b2c4b49-1f28-d87a-205b-0c5c07b79e9c@projektwerkstatt.de> <20170806122848.GB28006@comp-core-i7-2640m-0182e6.fortress> From: kalle Message-ID: <6fa22831-909e-5b88-5080-f28ac18f3ae9@projektwerkstatt.de> Date: Sun, 6 Aug 2017 18:20:19 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170806122848.GB28006@comp-core-i7-2640m-0182e6.fortress> Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Sun, 06 Aug 2017 20:18:55 +0300 Subject: Re: [kbd] man keymaps X-BeenThere: kbd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Linux console tools development discussion List-Id: Linux console tools development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Aug 2017 16:20:30 -0000 Archived-At: List-Archive: >> *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! :) thanks kalle