https://bugs.winehq.org/show_bug.cgi?id=56902
Bug ID: 56902 Summary: wineconsole, FreePascal text mode IDE and silent key Product: Wine Version: 9.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: margers.roked@inbox.lv Distribution: ---
I have active Keyboard layout with apostrophe as a silent key for entering non English characters.
wineconsole by itself work as expected.
When running FreePascal text mode IDE in wineconsole, silent key is not silent anymore and pressing apostrophe does not send apostrophe character, but something else.
Free Pascal available at https://sourceforge.net/projects/freepascal/files/Win32/3.2.2/ fpc-3.2.2.i386-win32.exe after installation run fp.exe
https://bugs.winehq.org/show_bug.cgi?id=56902
Eric Pouech eric.pouech@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |eric.pouech@gmail.com
--- Comment #1 from Eric Pouech eric.pouech@gmail.com --- did you try that with wine 9.0 or a more recent version? do you have the same issues when typing into notepad.exe?
https://bugs.winehq.org/show_bug.cgi?id=56902
--- Comment #2 from mika margers.roked@inbox.lv --- (In reply to Eric Pouech from comment #1)
did you try that with wine 9.0 or a more recent version? do you have the same issues when typing into notepad.exe?
With wine 9.0 (latest stable). It is an old ongoing issue. In notepad silent key works as it should.
https://bugs.winehq.org/show_bug.cgi?id=56902
--- Comment #3 from Eric Pouech eric.pouech@gmail.com --- (In reply to mika from comment #2)
(In reply to Eric Pouech from comment #1)
did you try that with wine 9.0 or a more recent version? do you have the same issues when typing into notepad.exe?
With wine 9.0 (latest stable). It is an old ongoing issue. In notepad silent key works as it should.
IIRC, there's a fix in Wine 9.11 that enhances support of diacritics for console (eg. on French keyboard, you need to key ^e to get ê).
https://bugs.winehq.org/show_bug.cgi?id=56902
--- Comment #4 from Eric Pouech eric.pouech@gmail.com --- (In reply to Eric Pouech from comment #3)
(In reply to mika from comment #2)
(In reply to Eric Pouech from comment #1)
did you try that with wine 9.0 or a more recent version? do you have the same issues when typing into notepad.exe?
With wine 9.0 (latest stable). It is an old ongoing issue. In notepad silent key works as it should.
IIRC, there's a fix in Wine 9.11 that enhances support of diacritics for console (eg. on French keyboard, you need to key ^e to get ê).
could you please test with that version (or upwards) to confirm it actually solves this issue.
https://bugs.winehq.org/show_bug.cgi?id=56902
--- Comment #5 from mika margers.roked@inbox.lv --- (In reply to Eric Pouech from comment #3)
IIRC, there's a fix in Wine 9.11 that enhances support of diacritics for console (eg. on French keyboard, you need to key ^e to get ê).
Not really solved yet..
Upon your request I investigated this problem as much as it is possible from my perspective.
Windows api function in question (Pascal deceleration): function ReadConsoleInput(hConsoleInput: THandle; var lpBuffer: TInputRecord; nLength: DWORD; var lpNumberOfEventsRead: DWORD): BOOL; external 'kernel32' name 'ReadConsoleInputA';
Keyboard layout (Latvian (apostrophe) (third party driver)) Windows Vista output for input sequence: a'a keyDown 00000001 0001 keycode 0041 scancdoe 001E wchar 0061 keystate 00000000 61 a 00000000 0001 keycode 0041 scancdoe 001E wchar 0061 keystate 00000000 61 a 00000001 0001 keycode 00DE scancdoe 0028 wchar 0000 keystate 00000000 00 00000000 0001 keycode 00DE scancdoe 0000 wchar 0027 keystate 00000000 27 ' 00000000 0001 keycode 00DE scancdoe 0028 wchar 0027 keystate 00000000 27 ' 00000001 0001 keycode 0041 scancdoe 001E wchar 0161 keystate 00000000 61 a 00000000 0001 keycode 0041 scancdoe 001E wchar 0061 keystate 00000000 61 a
Keyboard layout in linux (Latvian (apostrophe)) Wine 9.12 output for input sequence: a'a keyDown 00000001 0001 keycode 0041 scancdoe 001E wchar 0061 keystate 00000020 61 a 00000000 0001 keycode 0041 scancdoe 001E wchar 0061 keystate 00000020 61 a 00000001 0001 keycode 00DE scancdoe 0060 wchar 0000 keystate 00000020 00 00000000 0001 keycode 00DE scancdoe 0060 wchar 0000 keystate 00000020 00 00000001 0001 keycode 0041 scancdoe 001E wchar 0161 keystate 00000020 61 a 00000000 0001 keycode 0041 scancdoe 001E wchar 0161 keystate 00000020 61 a
Keyboard layout (Latvian (tilde)) Wine 9.12 output for input sequence: a`a keyDown 00000001 0001 keycode 0041 scancdoe 001E wchar 0061 keystate 00000020 61 a 00000000 0001 keycode 0041 scancdoe 001E wchar 0061 keystate 00000020 61 a 00000001 0001 keycode 00C0 scancdoe 0060 wchar 0000 keystate 00000020 00 00000000 0001 keycode 00C0 scancdoe 0060 wchar 0000 keystate 00000020 00 00000001 0001 keycode 0041 scancdoe 001E wchar 0161 keystate 00000020 61 a 00000000 0001 keycode 0041 scancdoe 001E wchar 0161 keystate 00000020 61 a
Don't know where from scancode x60 is coming (for silent Apostrophe and Tilde the same), but that couses a problem. Why isn't kept scancode x28 for Apostrophe and x29 for Tilde? fp.exe converts windows style scnacodes to dos style scnacodes. Ctrl+F3 scancode in dos is x60. In fp there is function for Ctrl+F3 and silent key functionality is lost.
https://bugs.winehq.org/show_bug.cgi?id=56902
--- Comment #6 from mika margers.roked@inbox.lv --- It's an option to emit no key event on silent key press or release.
https://bugs.winehq.org/show_bug.cgi?id=56902
--- Comment #7 from mika margers.roked@inbox.lv --- I patched fp itself. This issue could be closed.