Corrected the OnCreate infinite loop between X11GLNative and X11Input.
This commit is contained in:
parent
ad97683c80
commit
22c3eb187f
3 changed files with 329 additions and 327 deletions
|
@ -49,13 +49,15 @@ namespace OpenTK
|
||||||
}
|
}
|
||||||
|
|
||||||
glWindow.Resize += new ResizeEvent(glWindow_Resize);
|
glWindow.Resize += new ResizeEvent(glWindow_Resize);
|
||||||
glWindow.Create += new CreateEvent(glWindow_Create);
|
glWindow.Create += new CreateEvent(glWindow_CreateInputDriver);
|
||||||
}
|
}
|
||||||
|
|
||||||
void glWindow_Create(object sender, EventArgs e)
|
void glWindow_CreateInputDriver(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//glWindow.Context.MakeCurrent();
|
//glWindow.Context.MakeCurrent();
|
||||||
driver = new InputDriver(this.WindowInfo);
|
|
||||||
|
driver = new InputDriver(this.WindowInfo);
|
||||||
|
glWindow.Create -= glWindow_CreateInputDriver;
|
||||||
|
|
||||||
this.OnCreate(e);
|
this.OnCreate(e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,10 +63,13 @@ namespace OpenTK.Platform.X11
|
||||||
Display display,
|
Display display,
|
||||||
Window parent,
|
Window parent,
|
||||||
int x, int y,
|
int x, int y,
|
||||||
uint width, uint height,
|
//uint width, uint height,
|
||||||
uint border_width,
|
int width, int height,
|
||||||
|
//uint border_width,
|
||||||
|
int border_width,
|
||||||
int depth,
|
int depth,
|
||||||
uint @class,
|
//uint @class,
|
||||||
|
int @class,
|
||||||
IntPtr visual,
|
IntPtr visual,
|
||||||
[MarshalAs(UnmanagedType.SysUInt)] CreateWindowMask valuemask,
|
[MarshalAs(UnmanagedType.SysUInt)] CreateWindowMask valuemask,
|
||||||
SetWindowAttributes attributes
|
SetWindowAttributes attributes
|
||||||
|
@ -984,320 +987,320 @@ XF86VidModeGetGammaRampSize(
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal enum XKey
|
internal enum XKey
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* TTY function keys, cleverly chosen to map to ASCII, for convenience of
|
* TTY function keys, cleverly chosen to map to ASCII, for convenience of
|
||||||
* programming, but could have been arbitrary (at the cost of lookup
|
* programming, but could have been arbitrary (at the cost of lookup
|
||||||
* tables in client code).
|
* tables in client code).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
BackSpace = 0xff08, /* Back space, back char */
|
BackSpace = 0xff08, /* Back space, back char */
|
||||||
Tab = 0xff09,
|
Tab = 0xff09,
|
||||||
Linefeed = 0xff0a, /* Linefeed, LF */
|
Linefeed = 0xff0a, /* Linefeed, LF */
|
||||||
Clear = 0xff0b,
|
Clear = 0xff0b,
|
||||||
Return = 0xff0d, /* Return, enter */
|
Return = 0xff0d, /* Return, enter */
|
||||||
Pause = 0xff13, /* Pause, hold */
|
Pause = 0xff13, /* Pause, hold */
|
||||||
Scroll_Lock = 0xff14,
|
Scroll_Lock = 0xff14,
|
||||||
Sys_Req = 0xff15,
|
Sys_Req = 0xff15,
|
||||||
Escape = 0xff1b,
|
Escape = 0xff1b,
|
||||||
Delete = 0xffff, /* Delete, rubout */
|
Delete = 0xffff, /* Delete, rubout */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* International & multi-key character composition */
|
/* International & multi-key character composition */
|
||||||
|
|
||||||
Multi_key = 0xff20, /* Multi-key character compose */
|
Multi_key = 0xff20, /* Multi-key character compose */
|
||||||
Codeinput = 0xff37,
|
Codeinput = 0xff37,
|
||||||
SingleCandidate = 0xff3c,
|
SingleCandidate = 0xff3c,
|
||||||
MultipleCandidate = 0xff3d,
|
MultipleCandidate = 0xff3d,
|
||||||
PreviousCandidate = 0xff3e,
|
PreviousCandidate = 0xff3e,
|
||||||
|
|
||||||
/* Japanese keyboard support */
|
/* Japanese keyboard support */
|
||||||
|
|
||||||
Kanji = 0xff21, /* Kanji, Kanji convert */
|
Kanji = 0xff21, /* Kanji, Kanji convert */
|
||||||
Muhenkan = 0xff22, /* Cancel Conversion */
|
Muhenkan = 0xff22, /* Cancel Conversion */
|
||||||
Henkan_Mode = 0xff23, /* Start/Stop Conversion */
|
Henkan_Mode = 0xff23, /* Start/Stop Conversion */
|
||||||
Henkan = 0xff23, /* Alias for Henkan_Mode */
|
Henkan = 0xff23, /* Alias for Henkan_Mode */
|
||||||
Romaji = 0xff24, /* to Romaji */
|
Romaji = 0xff24, /* to Romaji */
|
||||||
Hiragana = 0xff25, /* to Hiragana */
|
Hiragana = 0xff25, /* to Hiragana */
|
||||||
Katakana = 0xff26, /* to Katakana */
|
Katakana = 0xff26, /* to Katakana */
|
||||||
Hiragana_Katakana = 0xff27, /* Hiragana/Katakana toggle */
|
Hiragana_Katakana = 0xff27, /* Hiragana/Katakana toggle */
|
||||||
Zenkaku = 0xff28, /* to Zenkaku */
|
Zenkaku = 0xff28, /* to Zenkaku */
|
||||||
Hankaku = 0xff29, /* to Hankaku */
|
Hankaku = 0xff29, /* to Hankaku */
|
||||||
Zenkaku_Hankaku = 0xff2a, /* Zenkaku/Hankaku toggle */
|
Zenkaku_Hankaku = 0xff2a, /* Zenkaku/Hankaku toggle */
|
||||||
Touroku = 0xff2b, /* Add to Dictionary */
|
Touroku = 0xff2b, /* Add to Dictionary */
|
||||||
Massyo = 0xff2c, /* Delete from Dictionary */
|
Massyo = 0xff2c, /* Delete from Dictionary */
|
||||||
Kana_Lock = 0xff2d, /* Kana Lock */
|
Kana_Lock = 0xff2d, /* Kana Lock */
|
||||||
Kana_Shift = 0xff2e, /* Kana Shift */
|
Kana_Shift = 0xff2e, /* Kana Shift */
|
||||||
Eisu_Shift = 0xff2f, /* Alphanumeric Shift */
|
Eisu_Shift = 0xff2f, /* Alphanumeric Shift */
|
||||||
Eisu_toggle = 0xff30, /* Alphanumeric toggle */
|
Eisu_toggle = 0xff30, /* Alphanumeric toggle */
|
||||||
Kanji_Bangou = 0xff37, /* Codeinput */
|
Kanji_Bangou = 0xff37, /* Codeinput */
|
||||||
Zen_Koho = 0xff3d, /* Multiple/All Candidate(s) */
|
Zen_Koho = 0xff3d, /* Multiple/All Candidate(s) */
|
||||||
Mae_Koho = 0xff3e, /* Previous Candidate */
|
Mae_Koho = 0xff3e, /* Previous Candidate */
|
||||||
|
|
||||||
/* 0xff31 thru 0xff3f are under XK_KOREAN */
|
/* 0xff31 thru 0xff3f are under XK_KOREAN */
|
||||||
|
|
||||||
/* Cursor control & motion */
|
/* Cursor control & motion */
|
||||||
|
|
||||||
Home = 0xff50,
|
Home = 0xff50,
|
||||||
Left = 0xff51, /* Move left, left arrow */
|
Left = 0xff51, /* Move left, left arrow */
|
||||||
Up = 0xff52, /* Move up, up arrow */
|
Up = 0xff52, /* Move up, up arrow */
|
||||||
Right = 0xff53, /* Move right, right arrow */
|
Right = 0xff53, /* Move right, right arrow */
|
||||||
Down = 0xff54, /* Move down, down arrow */
|
Down = 0xff54, /* Move down, down arrow */
|
||||||
Prior = 0xff55, /* Prior, previous */
|
Prior = 0xff55, /* Prior, previous */
|
||||||
Page_Up = 0xff55,
|
Page_Up = 0xff55,
|
||||||
Next = 0xff56, /* Next */
|
Next = 0xff56, /* Next */
|
||||||
Page_Down = 0xff56,
|
Page_Down = 0xff56,
|
||||||
End = 0xff57, /* EOL */
|
End = 0xff57, /* EOL */
|
||||||
Begin = 0xff58, /* BOL */
|
Begin = 0xff58, /* BOL */
|
||||||
|
|
||||||
|
|
||||||
/* Misc functions */
|
/* Misc functions */
|
||||||
|
|
||||||
Select = 0xff60, /* Select, mark */
|
Select = 0xff60, /* Select, mark */
|
||||||
Print = 0xff61,
|
Print = 0xff61,
|
||||||
Execute = 0xff62, /* Execute, run, do */
|
Execute = 0xff62, /* Execute, run, do */
|
||||||
Insert = 0xff63, /* Insert, insert here */
|
Insert = 0xff63, /* Insert, insert here */
|
||||||
Undo = 0xff65,
|
Undo = 0xff65,
|
||||||
Redo = 0xff66, /* Redo, again */
|
Redo = 0xff66, /* Redo, again */
|
||||||
Menu = 0xff67,
|
Menu = 0xff67,
|
||||||
Find = 0xff68, /* Find, search */
|
Find = 0xff68, /* Find, search */
|
||||||
Cancel = 0xff69, /* Cancel, stop, abort, exit */
|
Cancel = 0xff69, /* Cancel, stop, abort, exit */
|
||||||
Help = 0xff6a, /* Help */
|
Help = 0xff6a, /* Help */
|
||||||
Break = 0xff6b,
|
Break = 0xff6b,
|
||||||
Mode_switch = 0xff7e, /* Character set switch */
|
Mode_switch = 0xff7e, /* Character set switch */
|
||||||
script_switch = 0xff7e, /* Alias for mode_switch */
|
script_switch = 0xff7e, /* Alias for mode_switch */
|
||||||
Num_Lock = 0xff7f,
|
Num_Lock = 0xff7f,
|
||||||
|
|
||||||
/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
|
/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
|
||||||
|
|
||||||
KP_Space = 0xff80, /* Space */
|
KP_Space = 0xff80, /* Space */
|
||||||
KP_Tab = 0xff89,
|
KP_Tab = 0xff89,
|
||||||
KP_Enter = 0xff8d, /* Enter */
|
KP_Enter = 0xff8d, /* Enter */
|
||||||
KP_F1 = 0xff91, /* PF1, KP_A, ... */
|
KP_F1 = 0xff91, /* PF1, KP_A, ... */
|
||||||
KP_F2 = 0xff92,
|
KP_F2 = 0xff92,
|
||||||
KP_F3 = 0xff93,
|
KP_F3 = 0xff93,
|
||||||
KP_F4 = 0xff94,
|
KP_F4 = 0xff94,
|
||||||
KP_Home = 0xff95,
|
KP_Home = 0xff95,
|
||||||
KP_Left = 0xff96,
|
KP_Left = 0xff96,
|
||||||
KP_Up = 0xff97,
|
KP_Up = 0xff97,
|
||||||
KP_Right = 0xff98,
|
KP_Right = 0xff98,
|
||||||
KP_Down = 0xff99,
|
KP_Down = 0xff99,
|
||||||
KP_Prior = 0xff9a,
|
KP_Prior = 0xff9a,
|
||||||
KP_Page_Up = 0xff9a,
|
KP_Page_Up = 0xff9a,
|
||||||
KP_Next = 0xff9b,
|
KP_Next = 0xff9b,
|
||||||
KP_Page_Down = 0xff9b,
|
KP_Page_Down = 0xff9b,
|
||||||
KP_End = 0xff9c,
|
KP_End = 0xff9c,
|
||||||
KP_Begin = 0xff9d,
|
KP_Begin = 0xff9d,
|
||||||
KP_Insert = 0xff9e,
|
KP_Insert = 0xff9e,
|
||||||
KP_Delete = 0xff9f,
|
KP_Delete = 0xff9f,
|
||||||
KP_Equal = 0xffbd, /* Equals */
|
KP_Equal = 0xffbd, /* Equals */
|
||||||
KP_Multiply = 0xffaa,
|
KP_Multiply = 0xffaa,
|
||||||
KP_Add = 0xffab,
|
KP_Add = 0xffab,
|
||||||
KP_Separator = 0xffac, /* Separator, often comma */
|
KP_Separator = 0xffac, /* Separator, often comma */
|
||||||
KP_Subtract = 0xffad,
|
KP_Subtract = 0xffad,
|
||||||
KP_Decimal = 0xffae,
|
KP_Decimal = 0xffae,
|
||||||
KP_Divide = 0xffaf,
|
KP_Divide = 0xffaf,
|
||||||
|
|
||||||
KP_0 = 0xffb0,
|
KP_0 = 0xffb0,
|
||||||
KP_1 = 0xffb1,
|
KP_1 = 0xffb1,
|
||||||
KP_2 = 0xffb2,
|
KP_2 = 0xffb2,
|
||||||
KP_3 = 0xffb3,
|
KP_3 = 0xffb3,
|
||||||
KP_4 = 0xffb4,
|
KP_4 = 0xffb4,
|
||||||
KP_5 = 0xffb5,
|
KP_5 = 0xffb5,
|
||||||
KP_6 = 0xffb6,
|
KP_6 = 0xffb6,
|
||||||
KP_7 = 0xffb7,
|
KP_7 = 0xffb7,
|
||||||
KP_8 = 0xffb8,
|
KP_8 = 0xffb8,
|
||||||
KP_9 = 0xffb9,
|
KP_9 = 0xffb9,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Auxiliary functions; note the duplicate definitions for left and right
|
* Auxiliary functions; note the duplicate definitions for left and right
|
||||||
* function keys; Sun keyboards and a few other manufacturers have such
|
* function keys; Sun keyboards and a few other manufacturers have such
|
||||||
* function key groups on the left and/or right sides of the keyboard.
|
* function key groups on the left and/or right sides of the keyboard.
|
||||||
* We've not found a keyboard with more than 35 function keys total.
|
* We've not found a keyboard with more than 35 function keys total.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
F1 = 0xffbe,
|
F1 = 0xffbe,
|
||||||
F2 = 0xffbf,
|
F2 = 0xffbf,
|
||||||
F3 = 0xffc0,
|
F3 = 0xffc0,
|
||||||
F4 = 0xffc1,
|
F4 = 0xffc1,
|
||||||
F5 = 0xffc2,
|
F5 = 0xffc2,
|
||||||
F6 = 0xffc3,
|
F6 = 0xffc3,
|
||||||
F7 = 0xffc4,
|
F7 = 0xffc4,
|
||||||
F8 = 0xffc5,
|
F8 = 0xffc5,
|
||||||
F9 = 0xffc6,
|
F9 = 0xffc6,
|
||||||
F10 = 0xffc7,
|
F10 = 0xffc7,
|
||||||
F11 = 0xffc8,
|
F11 = 0xffc8,
|
||||||
L1 = 0xffc8,
|
L1 = 0xffc8,
|
||||||
F12 = 0xffc9,
|
F12 = 0xffc9,
|
||||||
L2 = 0xffc9,
|
L2 = 0xffc9,
|
||||||
F13 = 0xffca,
|
F13 = 0xffca,
|
||||||
L3 = 0xffca,
|
L3 = 0xffca,
|
||||||
F14 = 0xffcb,
|
F14 = 0xffcb,
|
||||||
L4 = 0xffcb,
|
L4 = 0xffcb,
|
||||||
F15 = 0xffcc,
|
F15 = 0xffcc,
|
||||||
L5 = 0xffcc,
|
L5 = 0xffcc,
|
||||||
F16 = 0xffcd,
|
F16 = 0xffcd,
|
||||||
L6 = 0xffcd,
|
L6 = 0xffcd,
|
||||||
F17 = 0xffce,
|
F17 = 0xffce,
|
||||||
L7 = 0xffce,
|
L7 = 0xffce,
|
||||||
F18 = 0xffcf,
|
F18 = 0xffcf,
|
||||||
L8 = 0xffcf,
|
L8 = 0xffcf,
|
||||||
F19 = 0xffd0,
|
F19 = 0xffd0,
|
||||||
L9 = 0xffd0,
|
L9 = 0xffd0,
|
||||||
F20 = 0xffd1,
|
F20 = 0xffd1,
|
||||||
L10 = 0xffd1,
|
L10 = 0xffd1,
|
||||||
F21 = 0xffd2,
|
F21 = 0xffd2,
|
||||||
R1 = 0xffd2,
|
R1 = 0xffd2,
|
||||||
F22 = 0xffd3,
|
F22 = 0xffd3,
|
||||||
R2 = 0xffd3,
|
R2 = 0xffd3,
|
||||||
F23 = 0xffd4,
|
F23 = 0xffd4,
|
||||||
R3 = 0xffd4,
|
R3 = 0xffd4,
|
||||||
F24 = 0xffd5,
|
F24 = 0xffd5,
|
||||||
R4 = 0xffd5,
|
R4 = 0xffd5,
|
||||||
F25 = 0xffd6,
|
F25 = 0xffd6,
|
||||||
R5 = 0xffd6,
|
R5 = 0xffd6,
|
||||||
F26 = 0xffd7,
|
F26 = 0xffd7,
|
||||||
R6 = 0xffd7,
|
R6 = 0xffd7,
|
||||||
F27 = 0xffd8,
|
F27 = 0xffd8,
|
||||||
R7 = 0xffd8,
|
R7 = 0xffd8,
|
||||||
F28 = 0xffd9,
|
F28 = 0xffd9,
|
||||||
R8 = 0xffd9,
|
R8 = 0xffd9,
|
||||||
F29 = 0xffda,
|
F29 = 0xffda,
|
||||||
R9 = 0xffda,
|
R9 = 0xffda,
|
||||||
F30 = 0xffdb,
|
F30 = 0xffdb,
|
||||||
R10 = 0xffdb,
|
R10 = 0xffdb,
|
||||||
F31 = 0xffdc,
|
F31 = 0xffdc,
|
||||||
R11 = 0xffdc,
|
R11 = 0xffdc,
|
||||||
F32 = 0xffdd,
|
F32 = 0xffdd,
|
||||||
R12 = 0xffdd,
|
R12 = 0xffdd,
|
||||||
F33 = 0xffde,
|
F33 = 0xffde,
|
||||||
R13 = 0xffde,
|
R13 = 0xffde,
|
||||||
F34 = 0xffdf,
|
F34 = 0xffdf,
|
||||||
R14 = 0xffdf,
|
R14 = 0xffdf,
|
||||||
F35 = 0xffe0,
|
F35 = 0xffe0,
|
||||||
R15 = 0xffe0,
|
R15 = 0xffe0,
|
||||||
|
|
||||||
/* Modifiers */
|
/* Modifiers */
|
||||||
|
|
||||||
Shift_L = 0xffe1, /* Left shift */
|
Shift_L = 0xffe1, /* Left shift */
|
||||||
Shift_R = 0xffe2, /* Right shift */
|
Shift_R = 0xffe2, /* Right shift */
|
||||||
Control_L = 0xffe3, /* Left control */
|
Control_L = 0xffe3, /* Left control */
|
||||||
Control_R = 0xffe4, /* Right control */
|
Control_R = 0xffe4, /* Right control */
|
||||||
Caps_Lock = 0xffe5, /* Caps lock */
|
Caps_Lock = 0xffe5, /* Caps lock */
|
||||||
Shift_Lock = 0xffe6, /* Shift lock */
|
Shift_Lock = 0xffe6, /* Shift lock */
|
||||||
|
|
||||||
Meta_L = 0xffe7, /* Left meta */
|
Meta_L = 0xffe7, /* Left meta */
|
||||||
Meta_R = 0xffe8, /* Right meta */
|
Meta_R = 0xffe8, /* Right meta */
|
||||||
Alt_L = 0xffe9, /* Left alt */
|
Alt_L = 0xffe9, /* Left alt */
|
||||||
Alt_R = 0xffea, /* Right alt */
|
Alt_R = 0xffea, /* Right alt */
|
||||||
Super_L = 0xffeb, /* Left super */
|
Super_L = 0xffeb, /* Left super */
|
||||||
Super_R = 0xffec, /* Right super */
|
Super_R = 0xffec, /* Right super */
|
||||||
Hyper_L = 0xffed, /* Left hyper */
|
Hyper_L = 0xffed, /* Left hyper */
|
||||||
Hyper_R = 0xffee, /* Right hyper */
|
Hyper_R = 0xffee, /* Right hyper */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Latin 1
|
* Latin 1
|
||||||
* (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
|
* (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
|
||||||
* Byte 3 = 0
|
* Byte 3 = 0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
space = 0x0020, /* U+0020 SPACE */
|
space = 0x0020, /* U+0020 SPACE */
|
||||||
exclam = 0x0021, /* U+0021 EXCLAMATION MARK */
|
exclam = 0x0021, /* U+0021 EXCLAMATION MARK */
|
||||||
quotedbl = 0x0022, /* U+0022 QUOTATION MARK */
|
quotedbl = 0x0022, /* U+0022 QUOTATION MARK */
|
||||||
numbersign = 0x0023, /* U+0023 NUMBER SIGN */
|
numbersign = 0x0023, /* U+0023 NUMBER SIGN */
|
||||||
dollar = 0x0024, /* U+0024 DOLLAR SIGN */
|
dollar = 0x0024, /* U+0024 DOLLAR SIGN */
|
||||||
percent = 0x0025, /* U+0025 PERCENT SIGN */
|
percent = 0x0025, /* U+0025 PERCENT SIGN */
|
||||||
ampersand = 0x0026, /* U+0026 AMPERSAND */
|
ampersand = 0x0026, /* U+0026 AMPERSAND */
|
||||||
apostrophe = 0x0027, /* U+0027 APOSTROPHE */
|
apostrophe = 0x0027, /* U+0027 APOSTROPHE */
|
||||||
quoteright = 0x0027, /* deprecated */
|
quoteright = 0x0027, /* deprecated */
|
||||||
parenleft = 0x0028, /* U+0028 LEFT PARENTHESIS */
|
parenleft = 0x0028, /* U+0028 LEFT PARENTHESIS */
|
||||||
parenright = 0x0029, /* U+0029 RIGHT PARENTHESIS */
|
parenright = 0x0029, /* U+0029 RIGHT PARENTHESIS */
|
||||||
asterisk = 0x002a, /* U+002A ASTERISK */
|
asterisk = 0x002a, /* U+002A ASTERISK */
|
||||||
plus = 0x002b, /* U+002B PLUS SIGN */
|
plus = 0x002b, /* U+002B PLUS SIGN */
|
||||||
comma = 0x002c, /* U+002C COMMA */
|
comma = 0x002c, /* U+002C COMMA */
|
||||||
minus = 0x002d, /* U+002D HYPHEN-MINUS */
|
minus = 0x002d, /* U+002D HYPHEN-MINUS */
|
||||||
period = 0x002e, /* U+002E FULL STOP */
|
period = 0x002e, /* U+002E FULL STOP */
|
||||||
slash = 0x002f, /* U+002F SOLIDUS */
|
slash = 0x002f, /* U+002F SOLIDUS */
|
||||||
Number0 = 0x0030, /* U+0030 DIGIT ZERO */
|
Number0 = 0x0030, /* U+0030 DIGIT ZERO */
|
||||||
Number1 = 0x0031, /* U+0031 DIGIT ONE */
|
Number1 = 0x0031, /* U+0031 DIGIT ONE */
|
||||||
Number2 = 0x0032, /* U+0032 DIGIT TWO */
|
Number2 = 0x0032, /* U+0032 DIGIT TWO */
|
||||||
Number3 = 0x0033, /* U+0033 DIGIT THREE */
|
Number3 = 0x0033, /* U+0033 DIGIT THREE */
|
||||||
Number4 = 0x0034, /* U+0034 DIGIT FOUR */
|
Number4 = 0x0034, /* U+0034 DIGIT FOUR */
|
||||||
Number5 = 0x0035, /* U+0035 DIGIT FIVE */
|
Number5 = 0x0035, /* U+0035 DIGIT FIVE */
|
||||||
Number6 = 0x0036, /* U+0036 DIGIT SIX */
|
Number6 = 0x0036, /* U+0036 DIGIT SIX */
|
||||||
Number7 = 0x0037, /* U+0037 DIGIT SEVEN */
|
Number7 = 0x0037, /* U+0037 DIGIT SEVEN */
|
||||||
Number8 = 0x0038, /* U+0038 DIGIT EIGHT */
|
Number8 = 0x0038, /* U+0038 DIGIT EIGHT */
|
||||||
Number9 = 0x0039, /* U+0039 DIGIT NINE */
|
Number9 = 0x0039, /* U+0039 DIGIT NINE */
|
||||||
colon = 0x003a, /* U+003A COLON */
|
colon = 0x003a, /* U+003A COLON */
|
||||||
semicolon = 0x003b, /* U+003B SEMICOLON */
|
semicolon = 0x003b, /* U+003B SEMICOLON */
|
||||||
less = 0x003c, /* U+003C LESS-THAN SIGN */
|
less = 0x003c, /* U+003C LESS-THAN SIGN */
|
||||||
equal = 0x003d, /* U+003D EQUALS SIGN */
|
equal = 0x003d, /* U+003D EQUALS SIGN */
|
||||||
greater = 0x003e, /* U+003E GREATER-THAN SIGN */
|
greater = 0x003e, /* U+003E GREATER-THAN SIGN */
|
||||||
question = 0x003f, /* U+003F QUESTION MARK */
|
question = 0x003f, /* U+003F QUESTION MARK */
|
||||||
at = 0x0040, /* U+0040 COMMERCIAL AT */
|
at = 0x0040, /* U+0040 COMMERCIAL AT */
|
||||||
A = 0x0041, /* U+0041 LATIN CAPITAL LETTER A */
|
A = 0x0041, /* U+0041 LATIN CAPITAL LETTER A */
|
||||||
B = 0x0042, /* U+0042 LATIN CAPITAL LETTER B */
|
B = 0x0042, /* U+0042 LATIN CAPITAL LETTER B */
|
||||||
C = 0x0043, /* U+0043 LATIN CAPITAL LETTER C */
|
C = 0x0043, /* U+0043 LATIN CAPITAL LETTER C */
|
||||||
D = 0x0044, /* U+0044 LATIN CAPITAL LETTER D */
|
D = 0x0044, /* U+0044 LATIN CAPITAL LETTER D */
|
||||||
E = 0x0045, /* U+0045 LATIN CAPITAL LETTER E */
|
E = 0x0045, /* U+0045 LATIN CAPITAL LETTER E */
|
||||||
F = 0x0046, /* U+0046 LATIN CAPITAL LETTER F */
|
F = 0x0046, /* U+0046 LATIN CAPITAL LETTER F */
|
||||||
G = 0x0047, /* U+0047 LATIN CAPITAL LETTER G */
|
G = 0x0047, /* U+0047 LATIN CAPITAL LETTER G */
|
||||||
H = 0x0048, /* U+0048 LATIN CAPITAL LETTER H */
|
H = 0x0048, /* U+0048 LATIN CAPITAL LETTER H */
|
||||||
I = 0x0049, /* U+0049 LATIN CAPITAL LETTER I */
|
I = 0x0049, /* U+0049 LATIN CAPITAL LETTER I */
|
||||||
J = 0x004a, /* U+004A LATIN CAPITAL LETTER J */
|
J = 0x004a, /* U+004A LATIN CAPITAL LETTER J */
|
||||||
K = 0x004b, /* U+004B LATIN CAPITAL LETTER K */
|
K = 0x004b, /* U+004B LATIN CAPITAL LETTER K */
|
||||||
L = 0x004c, /* U+004C LATIN CAPITAL LETTER L */
|
L = 0x004c, /* U+004C LATIN CAPITAL LETTER L */
|
||||||
M = 0x004d, /* U+004D LATIN CAPITAL LETTER M */
|
M = 0x004d, /* U+004D LATIN CAPITAL LETTER M */
|
||||||
N = 0x004e, /* U+004E LATIN CAPITAL LETTER N */
|
N = 0x004e, /* U+004E LATIN CAPITAL LETTER N */
|
||||||
O = 0x004f, /* U+004F LATIN CAPITAL LETTER O */
|
O = 0x004f, /* U+004F LATIN CAPITAL LETTER O */
|
||||||
P = 0x0050, /* U+0050 LATIN CAPITAL LETTER P */
|
P = 0x0050, /* U+0050 LATIN CAPITAL LETTER P */
|
||||||
Q = 0x0051, /* U+0051 LATIN CAPITAL LETTER Q */
|
Q = 0x0051, /* U+0051 LATIN CAPITAL LETTER Q */
|
||||||
R = 0x0052, /* U+0052 LATIN CAPITAL LETTER R */
|
R = 0x0052, /* U+0052 LATIN CAPITAL LETTER R */
|
||||||
S = 0x0053, /* U+0053 LATIN CAPITAL LETTER S */
|
S = 0x0053, /* U+0053 LATIN CAPITAL LETTER S */
|
||||||
T = 0x0054, /* U+0054 LATIN CAPITAL LETTER T */
|
T = 0x0054, /* U+0054 LATIN CAPITAL LETTER T */
|
||||||
U = 0x0055, /* U+0055 LATIN CAPITAL LETTER U */
|
U = 0x0055, /* U+0055 LATIN CAPITAL LETTER U */
|
||||||
V = 0x0056, /* U+0056 LATIN CAPITAL LETTER V */
|
V = 0x0056, /* U+0056 LATIN CAPITAL LETTER V */
|
||||||
W = 0x0057, /* U+0057 LATIN CAPITAL LETTER W */
|
W = 0x0057, /* U+0057 LATIN CAPITAL LETTER W */
|
||||||
X = 0x0058, /* U+0058 LATIN CAPITAL LETTER X */
|
X = 0x0058, /* U+0058 LATIN CAPITAL LETTER X */
|
||||||
Y = 0x0059, /* U+0059 LATIN CAPITAL LETTER Y */
|
Y = 0x0059, /* U+0059 LATIN CAPITAL LETTER Y */
|
||||||
Z = 0x005a, /* U+005A LATIN CAPITAL LETTER Z */
|
Z = 0x005a, /* U+005A LATIN CAPITAL LETTER Z */
|
||||||
bracketleft = 0x005b, /* U+005B LEFT SQUARE BRACKET */
|
bracketleft = 0x005b, /* U+005B LEFT SQUARE BRACKET */
|
||||||
backslash = 0x005c, /* U+005C REVERSE SOLIDUS */
|
backslash = 0x005c, /* U+005C REVERSE SOLIDUS */
|
||||||
bracketright = 0x005d, /* U+005D RIGHT SQUARE BRACKET */
|
bracketright = 0x005d, /* U+005D RIGHT SQUARE BRACKET */
|
||||||
asciicircum = 0x005e, /* U+005E CIRCUMFLEX ACCENT */
|
asciicircum = 0x005e, /* U+005E CIRCUMFLEX ACCENT */
|
||||||
underscore = 0x005f, /* U+005F LOW LINE */
|
underscore = 0x005f, /* U+005F LOW LINE */
|
||||||
grave = 0x0060, /* U+0060 GRAVE ACCENT */
|
grave = 0x0060, /* U+0060 GRAVE ACCENT */
|
||||||
quoteleft = 0x0060, /* deprecated */
|
quoteleft = 0x0060, /* deprecated */
|
||||||
a = 0x0061, /* U+0061 LATIN SMALL LETTER A */
|
a = 0x0061, /* U+0061 LATIN SMALL LETTER A */
|
||||||
b = 0x0062, /* U+0062 LATIN SMALL LETTER B */
|
b = 0x0062, /* U+0062 LATIN SMALL LETTER B */
|
||||||
c = 0x0063, /* U+0063 LATIN SMALL LETTER C */
|
c = 0x0063, /* U+0063 LATIN SMALL LETTER C */
|
||||||
d = 0x0064, /* U+0064 LATIN SMALL LETTER D */
|
d = 0x0064, /* U+0064 LATIN SMALL LETTER D */
|
||||||
e = 0x0065, /* U+0065 LATIN SMALL LETTER E */
|
e = 0x0065, /* U+0065 LATIN SMALL LETTER E */
|
||||||
f = 0x0066, /* U+0066 LATIN SMALL LETTER F */
|
f = 0x0066, /* U+0066 LATIN SMALL LETTER F */
|
||||||
g = 0x0067, /* U+0067 LATIN SMALL LETTER G */
|
g = 0x0067, /* U+0067 LATIN SMALL LETTER G */
|
||||||
h = 0x0068, /* U+0068 LATIN SMALL LETTER H */
|
h = 0x0068, /* U+0068 LATIN SMALL LETTER H */
|
||||||
i = 0x0069, /* U+0069 LATIN SMALL LETTER I */
|
i = 0x0069, /* U+0069 LATIN SMALL LETTER I */
|
||||||
j = 0x006a, /* U+006A LATIN SMALL LETTER J */
|
j = 0x006a, /* U+006A LATIN SMALL LETTER J */
|
||||||
k = 0x006b, /* U+006B LATIN SMALL LETTER K */
|
k = 0x006b, /* U+006B LATIN SMALL LETTER K */
|
||||||
l = 0x006c, /* U+006C LATIN SMALL LETTER L */
|
l = 0x006c, /* U+006C LATIN SMALL LETTER L */
|
||||||
m = 0x006d, /* U+006D LATIN SMALL LETTER M */
|
m = 0x006d, /* U+006D LATIN SMALL LETTER M */
|
||||||
n = 0x006e, /* U+006E LATIN SMALL LETTER N */
|
n = 0x006e, /* U+006E LATIN SMALL LETTER N */
|
||||||
o = 0x006f, /* U+006F LATIN SMALL LETTER O */
|
o = 0x006f, /* U+006F LATIN SMALL LETTER O */
|
||||||
p = 0x0070, /* U+0070 LATIN SMALL LETTER P */
|
p = 0x0070, /* U+0070 LATIN SMALL LETTER P */
|
||||||
q = 0x0071, /* U+0071 LATIN SMALL LETTER Q */
|
q = 0x0071, /* U+0071 LATIN SMALL LETTER Q */
|
||||||
r = 0x0072, /* U+0072 LATIN SMALL LETTER R */
|
r = 0x0072, /* U+0072 LATIN SMALL LETTER R */
|
||||||
s = 0x0073, /* U+0073 LATIN SMALL LETTER S */
|
s = 0x0073, /* U+0073 LATIN SMALL LETTER S */
|
||||||
t = 0x0074, /* U+0074 LATIN SMALL LETTER T */
|
t = 0x0074, /* U+0074 LATIN SMALL LETTER T */
|
||||||
u = 0x0075, /* U+0075 LATIN SMALL LETTER U */
|
u = 0x0075, /* U+0075 LATIN SMALL LETTER U */
|
||||||
v = 0x0076, /* U+0076 LATIN SMALL LETTER V */
|
v = 0x0076, /* U+0076 LATIN SMALL LETTER V */
|
||||||
w = 0x0077, /* U+0077 LATIN SMALL LETTER W */
|
w = 0x0077, /* U+0077 LATIN SMALL LETTER W */
|
||||||
x = 0x0078, /* U+0078 LATIN SMALL LETTER X */
|
x = 0x0078, /* U+0078 LATIN SMALL LETTER X */
|
||||||
y = 0x0079, /* U+0079 LATIN SMALL LETTER Y */
|
y = 0x0079, /* U+0079 LATIN SMALL LETTER Y */
|
||||||
z = 0x007a, /* U+007A LATIN SMALL LETTER Z */
|
z = 0x007a, /* U+007A LATIN SMALL LETTER Z */
|
||||||
braceleft = 0x007b, /* U+007B LEFT CURLY BRACKET */
|
braceleft = 0x007b, /* U+007B LEFT CURLY BRACKET */
|
||||||
bar = 0x007c, /* U+007C VERTICAL LINE */
|
bar = 0x007c, /* U+007C VERTICAL LINE */
|
||||||
braceright = 0x007d, /* U+007D RIGHT CURLY BRACKET */
|
braceright = 0x007d, /* U+007D RIGHT CURLY BRACKET */
|
||||||
asciitilde = 0x007e, /* U+007E TILDE */
|
asciitilde = 0x007e, /* U+007E TILDE */
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -124,7 +124,7 @@ namespace OpenTK.Platform.X11
|
||||||
info.Display,
|
info.Display,
|
||||||
info.RootWindow,
|
info.RootWindow,
|
||||||
0, 0,
|
0, 0,
|
||||||
640, 480,
|
mode.Width, mode.Height,
|
||||||
0,
|
0,
|
||||||
//glxVisualInfo.depth,
|
//glxVisualInfo.depth,
|
||||||
glContext.XVisualInfo.depth,
|
glContext.XVisualInfo.depth,
|
||||||
|
@ -226,19 +226,15 @@ namespace OpenTK.Platform.X11
|
||||||
{
|
{
|
||||||
case EventType.ReparentNotify:
|
case EventType.ReparentNotify:
|
||||||
API.NextEvent(info.Display, reparent);
|
API.NextEvent(info.Display, reparent);
|
||||||
// Do nothing
|
|
||||||
|
// TODO: Is there a more suitable place to raise the Create event?
|
||||||
|
// ReparentNotify seems to be the first event raised on window creation.
|
||||||
|
this.OnCreate(EventArgs.Empty);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType.CreateNotify:
|
case EventType.CreateNotify:
|
||||||
API.NextEvent(info.Display, createWindow);
|
API.NextEvent(info.Display, createWindow);
|
||||||
|
// A child was created - nothing to do
|
||||||
// Set window width/height
|
|
||||||
mode.Width = createWindow.width;
|
|
||||||
mode.Height = createWindow.height;
|
|
||||||
this.OnCreate(EventArgs.Empty);
|
|
||||||
Debug.WriteLine(
|
|
||||||
String.Format("OnCreate fired: {0}x{1}", mode.Width, mode.Height)
|
|
||||||
);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType.DestroyNotify:
|
case EventType.DestroyNotify:
|
||||||
|
@ -288,6 +284,7 @@ namespace OpenTK.Platform.X11
|
||||||
if (this.Create != null)
|
if (this.Create != null)
|
||||||
{
|
{
|
||||||
this.Create(this, e);
|
this.Create(this, e);
|
||||||
|
Debug.Print("OnCreate fired, from window: {0}", info.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue