[Top][All Lists]
[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/