Page 1 of 1

Dead keys for Western Latin

Posted: Sat May 24, 2014 5:06 pm
by seppe
Europeans want to type accented letters.
While waiting for full Unicode support, I implement codepage 1252 (Western Latin) myself.
To illustrate this, I post my "KeyView" application to view typed text in CP1252.
I still need to work out the dead key combinations (ë, ò, û, . . .).
I will work on a method to choose an ascii code by using Alt+nn (DOS users know what I mean).
Later I will work out a "Character Picker", to pick any ascii character from an ascii chart.

KeyView is my first (unfinished) Kolibri application.
I use a built-in keymap for a Belgian AZERTY keyboard (I have no other keyboard).
Feedback is appreciated.

Re: Dead keys for Western Latin

Posted: Sat May 24, 2014 6:22 pm
by hidnplayr
We already have a "character picker" called ASCIIVJU: viewtopic.php?f=42&t=1455

Your applications seems to work good, only problem I found was that € symbol (placed on the e key on our keyboards) does not work.
Why do you use built in keymap? I think nobody besides you and me here have belgian keyboards :)

Re: Dead keys for Western Latin

Posted: Sun May 25, 2014 1:12 pm
by seppe
hidnplayr wrote:We already have a "character picker" called ASCIIVJU: viewtopic.php?f=42&t=1455
ASCIIVJU does not show the western codepage and it does not copy the picked characters to the clipboard.
The source code might help. Do you know if the source code is available?

Re: Dead keys for Western Latin

Posted: Sun May 25, 2014 1:29 pm
by hidnplayr
As almost all programs, it's source code is on our SVN server :)

http://websvn.kolibrios.org/listing.php ... 900f51c0c3

Re: Dead keys for Western Latin

Posted: Sun May 25, 2014 3:21 pm
by seppe
hidnplayr wrote: Why do you use built in keymap? I think nobody besides you and me here have Belgian keyboards :)
There are many keyboard layouts in Europe, and the setup.asm routine will need often updates.
The built-in keymap will be used to enter and test a newly created keyboard layout.
Another button will write the table as Fasm code to disk, ready to be included in the setup.asm source.

I suggest to apply Microsoft's country codes using 2 letters + an optional third letter for keyboard variants.
See http://support.microsoft.com/kb/262283
The current keyboard codes (0 to 7) can remain operational (legacy).

I appreciate feedback.

Re: Dead keys for Western Latin

Posted: Mon May 26, 2014 12:38 pm
by seppe
seppe wrote:I still need to work out the dead key combinations (ë, ò, û, . . .).
Here is the new version of my "KeyView" application with functional deadkeys.
It works for all European keyboards when used with CP1252.
The € symbol works now.

Request for hidnplayer : Please change scancode 0x1A from 0x5E to 0x88.

In my opinion, dead key handling should be done by the keyboard driver(s).
I give you the list and the flowchart.

To help all European KolibriOS users, I consider to offer library functions for displaying CP1252 text.
I might add a function for keyboard input with dead-key handling.

Re: Dead keys for Western Latin

Posted: Mon May 26, 2014 2:15 pm
by hidnplayr
Why not show us your code for dead key handling so it doesnt need to be re-invented to be put into the kernel :)
It seems your application 'KeyView' was written in C (compiled with GCC?) but it may still help.

PS: scancode 0x1A changed from 0x5E to 0x88 in #4942

Re: Dead keys for Western Latin

Posted: Tue May 27, 2014 12:44 am
by seppe
I give a new enhanced version of my KeyView with a character chart for both systemfont and Western Latin.
The tab key toggles between both fonts. The ASCII and scancode is shown for in keyed characters.
The application is not finished, but I already give it so maybe you can help me with the following:
After typing some special key combinations, the NumLocked keys do not return numbers anymore.
I can't pinpoint it. It makes me crazy. Any ideas?
hidnplayr wrote:scancode 0x1A changed from 0x5E to 0x88 in #4942
Thank you. All dead-key combinations are perfect.
hidnplayr wrote:Why not show us your code for dead key handling so it doesn't need to be re-invented to be put into the kernel.
It seems your application 'KeyView' was written in C (compiled with GCC?) but it may still help.
I send you my source (KeyView.rtf). Best viewed with WordPad using Euphemia 9 and Arial 8.
The language is Mas (Modern assembly). I doubt that it is useful to you. Maybe one day . . .
Anyway, the dead-key implementation makes no sense as long as CP1252 is not around.
When KeyView is finished, I'll start working on a library for Europeans.

Re: Dead keys for Western Latin

Posted: Tue May 27, 2014 1:19 am
by hidnplayr
Wow, that is some strange looking source code, the binary looked much clearer than this mess :)

It seems to me that the keys, 4, 6, 8 and 2 always function as arrow keys, while 1, 3, 5, 7 and 9 work almost like they should. (pressing 5 returns number 7 for example)