dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]Re: Imcomplete System.Drawing.Xsharp.DrawingWindow.MapKey(Ke


From: Mohan Embar
Subject: Re: [DotGNU]Re: Imcomplete System.Drawing.Xsharp.DrawingWindow.MapKey(KeyName)?
Date: Tue, 29 Jul 2003 09:13:57 -0500

Hi Rhys,

>> Let me know if you'd like me to follow up on this.
>
>I would be interested to know what MS generates for the key code for accented 
>characters.  Does it generate ToolkitKeys.None or something else?

For a French keyboard mapping, using a slightly modified
version of the program.

------------------------8<-------------------------
KeyDown: KeyCode: D1, Modifiers: None
KeyPress: &
KeyUp: KeyCode: D1, Modifiers: None

KeyDown: KeyCode: D2, Modifiers: None
KeyPress: é
KeyUp: KeyCode: D2, Modifiers: None

KeyDown: KeyCode: D0, Modifiers: None
KeyPress: à
KeyUp: KeyCode: D0, Modifiers: None

KeyDown: KeyCode: D7, Modifiers: None
KeyPress: è
KeyUp: KeyCode: D7, Modifiers: None

KeyDown: KeyCode: D9, Modifiers: None
KeyPress: ç
KeyUp: KeyCode: D9, Modifiers: None

KeyDown: KeyCode: ShiftKey, Modifiers: Shift
KeyDown: KeyCode: OemCloseBrackets, Modifiers: Shift
KeyUp: KeyCode: OemCloseBrackets, Modifiers: Shift

KeyUp: KeyCode: ShiftKey, Modifiers: None

KeyDown: KeyCode: E, Modifiers: None
KeyPress: ë
KeyUp: KeyCode: E, Modifiers: None
------------------------8<-------------------------

This could make things interesting because accented
characters are generated differently depending
on the country code of the keyboard layout.
For example:

http://www.246.ne.jp/~joe/info/latin1.htm

Note that in the above output, this sequence:

------------------------8<-------------------------
KeyDown: KeyCode: ShiftKey, Modifiers: Shift
KeyDown: KeyCode: OemCloseBrackets, Modifiers: Shift
KeyUp: KeyCode: OemCloseBrackets, Modifiers: Shift

KeyUp: KeyCode: ShiftKey, Modifiers: None

KeyDown: KeyCode: E, Modifiers: None
KeyPress: ë
KeyUp: KeyCode: E, Modifiers: None
------------------------8<-------------------------

is the two-key sequence used to generated "ë" on
a French (FR) keyboard.

Let's look at the output of ö for both French (FR):

------------------------8<-------------------------
KeyDown: KeyCode: ShiftKey, Modifiers: Shift
KeyDown: KeyCode: OemCloseBrackets, Modifiers: Shift
KeyUp: KeyCode: OemCloseBrackets, Modifiers: Shift

KeyUp: KeyCode: ShiftKey, Modifiers: None

KeyDown: KeyCode: O, Modifiers: None
KeyPress: ö
KeyUp: KeyCode: O, Modifiers: None
------------------------8<-------------------------

and German (DE) keyboard layouts:

------------------------8<-------------------------
KeyDown: KeyCode: Oemtilde, Modifiers: None
KeyPress: ö
KeyUp: KeyCode: Oemtilde, Modifiers: None
------------------------8<-------------------------

So it looks like you need to factor the locale in
when generating these if you want to do it in a
compatible way.

Let me know if you want me to follow up on this more.
I'm feeling less lazy now and need this for my
TextBox keyboard support.

-- Mohan
http://www.thisiscool.com/
http://www.animalsong.org/






reply via email to

[Prev in Thread] Current Thread [Next in Thread]