Hello: The CGA display adapter for PC (and later models) use IBM CP439. So, for the keyboard driver of this hardware my opinion is to also use CP439. I examined the keys-es.h file and when there are octal initializers, usually corresponds to CP439. But the file itself seems to be encoded with ISO-8859-1. On Thu, May 19, 2016 at 3:44 AM, Marc-François LUCCA-DANIAU <mfld.fr@xxxxxxxxx> wrote: > Hello Juan, > > Thanks for your explanation. It is clear that C source files should be > only in single-byte ASCII with charcode < 127 to avoid any problem > with the build tools. > > My previous question is actually not related to character encoding for > C source files, but rather for the character encoding in the scancode > tables. > > When you say " Replacing 'é' wilth '\202'", what exact pagecode with > single bytes are you refering to ? The link you provided has no > reference to any official pagecodes. Should it be IBM 437 or 850, > Windows 1252, IANA 8859-1 ? > > This is important to ensure consistency between the character encoding > by the keyboard driver and the character rendering in the display > driver, because glyph bitmaps are indexed on the character code. > > One needs this information to fix the tables in keys-*.h. > > MFLD > > > > > 2016-05-18 22:27 GMT+02:00 Juan Perez-Sanchez <lithoxs@xxxxxxxxx>: >> Hello Marc: >> >> You are right. I should say "grep". I guess you will use the >> "keys-be.h" file. The arrays in the >> tables in this file are unsigned char, so you would use 'a', 'b' etc >> for initializers. For nonprinting chars you would use '\xxx', but 0xxx >> works equally well. >> >> The encoding should be plain ascii. See >> >> http://www.cdrummond.qc.ca/cegep/informat/Professeurs/Alain/files/ascii.htm >> >> Here, the first table is "plain ascii". The second table is the >> "extended ascii". The BCC compiler >> ignores the extended ascii chars. >> >> For example, in your case, the fourth char in the first table is 'é' >> and there is a 130 in that position of the file "keys-be.h". Replacing >> 'é' wilth '\202' you use only plain ascii chars. >> >> >> On Wed, May 18, 2016 at 2:37 PM, Marc-F. LUCCA-DANIAU <mfld.fr@xxxxxxxxx> wrote: >>> Hello Juan, >>> >>> Thanks for pointing the previous report. >>> >>> I guess you meant ""grep" does not like it", and octal as "0xxx" in C files, >>> not "\xxx" as in shell. >>> >>> Adding option -a to grep gives a correct Config.in, but one thing stills not >>> clear for me: >>> do you know what is the code page that is supposed to be used to encode the >>> characters in the keys-*.h ? >>> >>> In the IBM PS/2 BIOS TechRef, I see no clue about this encoding, just a >>> Keycode / ASCII table with US keyboard layout. >>> >>> MFLD >>> >>> >>> >>> Le 17/05/2016 22:15, Juan Perez-Sanchez a écrit : >>>> >>>> Hello, >>>> >>>> This problem (with possible workaround) was reported in: >>>> >>>> http://www.spinics.net/lists/linux-8086/msg00675.html >>>> >>>> The problem is that keymap tables use "extended ascii" characters, >>>> this is, codes greater than 127, and current "make" don't like it. For >>>> example, accented a is written as 'á' and should be written as'\341'. >>>> >>>> This include files are C code and should use plain ascii. However, >>>> this is a lot of work. >>>> >>>> Juan >>>> >>>> >>>> On Tue, May 17, 2016 at 7:37 AM, Marc-F. LUCCA-DANIAU <mfld.fr@xxxxxxxxx> >>>> wrote: >>>>> >>>>> Hello, >>>>> >>>>> I just took the latest version of ELKS from Jody's GIT master branch, and >>>>> I >>>>> got an issue while building ELKS. >>>>> I am using the "build.sh" script for the newbie I am :-) >>>>> >>>>> >>>>> With default configuration, build fails because the following file is >>>>> malformed: >>>>> /home/mfld/advantech/elks/elks/arch/i86/drivers/char/KeyMaps/keymaps.h: >>>>> /* Automatically created - do not edit */ >>>>> >>>>> #include "Fichier" /* binaire keys-be.h correspondant */ >>>>> #include "Fichier" /* binaire keys-de.h correspondant */ >>>>> #include "Fichier" /* binaire keys-es.h correspondant */ >>>>> #include "Fichier" /* binaire keys-it.h correspondant */ >>>>> #include "Fichier" /* binaire keys-se.h correspondant */ >>>>> #include "Fichier" /* binaire keys-uk.h correspondant */ >>>>> #include "keys-dv.h" /* DV Dvorak */ >>>>> #include "keys-us.h" /* US American */ >>>>> >>>>> (I am using a Gentoo configured in French, so the french strings) >>>>> >>>>> >>>>> This file came from the malformed Config.in: >>>>> # Automatically created - do not edit. >>>>> >>>>> choice 'XT Keyboard support' \ >>>>> "keys-be.h correspondant CONFIG_KEYMAP_binaire \ >>>>> keys-de.h correspondant CONFIG_KEYMAP_binaire \ >>>>> keys-es.h correspondant CONFIG_KEYMAP_binaire \ >>>>> keys-it.h correspondant CONFIG_KEYMAP_binaire \ >>>>> keys-se.h correspondant CONFIG_KEYMAP_binaire \ >>>>> keys-uk.h correspondant CONFIG_KEYMAP_binaire \ >>>>> Dvorak CONFIG_KEYMAP_DV \ >>>>> American CONFIG_KEYMAP_US" American >>>>> >>>>> # EOF. >>>>> >>>>> >>>>> Error went away after changing the kernel configuration: >>>>> Select console driver: from <Direct> to <BIOS> >>>>> >>>>> >>>>> I am not at ease with the Config.in generation, any idea here ? >>>>> >>>>> MFLD >>>>> >>>>> -- >>>>> To unsubscribe from this list: send the line "unsubscribe linux-8086" in >>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >>> -- To unsubscribe from this list: send the line "unsubscribe linux-8086" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html