https://bugs.documentfoundation.org/show_bug.cgi?id=95635

--- Comment #3 from Juergen Funk <[email protected]> ---
The main problem is Windows send automatically, when press ALTGR, the left
CTRL-Key (with German-Keyboard-Language). It is not possible to diffrent, is
the CTRL-Key pressed or not.
The other problem is always filtering the kombination STRG+ALT that can be
ALTGR or STRG+ALT, this i have fixed ,look to tdf#95761

I have made test with MS-Word 2013 with the same kombination "CTRL+]", under
Word you set the key-strokes, and then it display "CTRL+ALT+9" and that works
but not with the ALTGR-Key.

The other problem is the init in startphase here
http://opengrok.libreoffice.org/xref/core/vcl/win/source/app/salinst.cxx#333 in
windows you can switch the keyboard-language per application, but the
application must be run, the start  of LO is german, then when you switch to
english, it doesn't work, the english keys not match with german VirtualKeys.
It only works when you change the keyboard-language for the whole system, then
when you start LO it works with "CTRL+ALTGR+]". It exist a static table too
here
http://opengrok.libreoffice.org/xref/core/vcl/win/source/window/salframe.cxx#526
and here
http://opengrok.libreoffice.org/xref/core/vcl/win/source/window/salframe.cxx#3279
the function to choose what for table to use.

The next problem is the character-codes the GetMessage-function (GM) here in
wParam
http://opengrok.libreoffice.org/xref/core/vcl/win/source/window/salframe.cxx#3550
give only the blank key back (without Shift, ALT, ALTGR, STRG) and the
PeekMessage (PM) here
http://opengrok.libreoffice.org/xref/core/vcl/win/source/window/salframe.cxx#3558
give the converted character back.
e.g.
 * "ALTGR + ]" , GM = 0x39 Zeichen: 9 , PM = 0x5d Zeichen: ]
 * " STRG + I" , GM = 0x49 Zeichen: I , PM = 0x09 Zeichen: tab 
 * " STRG + +" , GM = 0xBB Zeichen: (not in the following table), PM = 0x1d  
 * look https://msdn.microsoft.com/en-us/library/aa299374%28v=vs.60%29.aspx
When CTRL is pressed should us GM but when using ALTGR it need to use PM in
depend with the funktion VkKeyScan, this must be the same as in the init of the
startphase, look above.
A other side effect of the VkKeyScan is for e.g. the + in the table is that the
Virtual-Key-Code 0xBB but when you press "CTRL+ +" then it is the code 0x1BB
and then no match, in this case it needed the GM.

I think the best solution is we change the German-Hotkeys without
ALTGR-Character. And change the Customise-Keyboard to let set the key-stroke
from user, then we not need the init of the virtualkey in the startphase.

A other problem i see is, when change the "CTRL+[" in "CTRL+8" then after the
change ist works, but the tooltip for the toolbar-buttons show the old "CTRL+["
that is confusing.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to