Am 13.09.2018 um 18:09 schrieb V Stuart Foote: > >> * CTRL+ALT+E isn't opening the extension dialog but inserts a "é" >> + https://bugs.documentfoundation.org/show_bug.cgi?id=119676 >> + bug?, see also 118269 >> + why do we have a hot-key for that dialog ? (Michael) >> + not only this – other shortcuts with ctrl-alt (Heiko) >> + can we bisect it, find & prioritize it ? (Michael) > > Set up my soap box in the [META] Ctrl+Alt (aka AltGR) keyboard shortcut issues > https://bugs.documentfoundation.org/show_bug.cgi?id=107244 > > Windows is especially afflicted with this because of the os remapping of <Ctrl>+<Alt> to <AltGr> in multiple keyboard layouts. But it highlights issue for all os/DE that by locale or keyboard choice clobber our default shortcut assignments. > > Removing the few <Ctrl>+<Alt> shortcuts we've assigned globally or to modules seems reasonable, but it just kicks things down the road for finding a better way to accomodate keyboard layouts other the en-US Couldn't find the bugs during ESC: - https://bugs.documentfoundation.org/show_bug.cgi?id=95635 - https://bugs.documentfoundation.org/show_bug.cgi?id=95761 The 2nd one is in the [META] list. The first is some really nice clash for German keyboards, as you need AltGr to type "][". I've added my original patch, which AFAI remember didn't work. >From c221fc3a2c2c8f8899ce260909a11fd4a37d4cde Mon Sep 17 00:00:00 2001 From: Jan-Marek Glogowski <glogow@xxxxxxxxxx> Date: Mon, 9 Nov 2015 17:24:16 +0100 Subject: [PATCH] tdf#95635 Invert left Ctrl eval in case of AltGr Windows handles pressing AltGr as VK_RMENU && VK_LCONTROL. In case of VK_RMENU the meaning of VK_LCONTROL is inverted, which means left Ctrl is actually pressed, if VK_LCONTROL is not set! Change-Id: I483dd582b454760ba0da2fdfb269b2369bf8683c --- vcl/win/source/window/salframe.cxx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx index 0203b05232b3..905454e45678 100644 --- a/vcl/win/source/window/salframe.cxx +++ b/vcl/win/source/window/salframe.cxx @@ -3508,14 +3508,22 @@ static long ImplHandleKeyMsg( HWND hWnd, UINT nMsg, tmpCode |= MODKEY_LSHIFT; if( GetKeyState( VK_RSHIFT ) & 0x8000 ) tmpCode |= MODKEY_RSHIFT; - if( GetKeyState( VK_LCONTROL ) & 0x8000 ) - tmpCode |= MODKEY_LMOD1; if( GetKeyState( VK_RCONTROL ) & 0x8000 ) tmpCode |= MODKEY_RMOD1; if( GetKeyState( VK_LMENU ) & 0x8000 ) tmpCode |= MODKEY_LMOD2; - if( GetKeyState( VK_RMENU ) & 0x8000 ) + + // Pressing AltGr is handled as VK_RMENU && VK_LCONTROL! + // If VK_LCONTROL is not set the left Ctrl is actually pressed and + // so for AltGr the evaluation of VK_LCONTROL has to be inverted + if( GetKeyState( VK_RMENU ) & 0x8000 ) + { tmpCode |= MODKEY_RMOD2; + if( ! ( GetKeyState( VK_LCONTROL ) & 0x8000 ) ) + tmpCode |= MODKEY_LMOD1; + } + else if( GetKeyState( VK_LCONTROL ) & 0x8000 ) + tmpCode |= MODKEY_LMOD1; if( tmpCode < nLastModKeyCode ) { -- 2.17.0 _______________________________________________ LibreOffice mailing list LibreOffice@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/libreoffice