Fix Keyboard shortcut (alt + letter) does not work in input widget-Windows (#1122)
This commit is contained in:
parent
dc2c53333c
commit
0d4c8c8534
@ -332,10 +332,11 @@ void Fl_WinAPI_Screen_Driver::get_system_colors()
|
||||
|
||||
int Fl_WinAPI_Screen_Driver::compose(int &del) {
|
||||
unsigned char ascii = (unsigned char)Fl::e_text[0];
|
||||
/* WARNING: The [AltGr] key on international keyboards falsely set FL_CTRL! */
|
||||
/* More investigation needed. */
|
||||
int condition = (Fl::e_state & (FL_ALT | FL_META | FL_CTRL)) &&
|
||||
!(GetAsyncKeyState(VK_MENU) >> 15) && !(ascii & 128);
|
||||
/* WARNING: The [AltGr] key on international keyboards sets FL_CTRL.
|
||||
2nd line in condition below asks [AltGr] key (a.k.a. VK_RMENU) not to be down.
|
||||
*/
|
||||
int condition = (Fl::e_state & (FL_ALT | FL_META | FL_CTRL)) && !(ascii & 128) &&
|
||||
!( (Fl::e_state & FL_CTRL) && (GetAsyncKeyState(VK_RMENU) >> 15) );
|
||||
if (condition) { // this stuff is to be treated as a function key
|
||||
del = 0;
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user