summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuergen Funk <juergen.funk_ml@cib.de>2016-03-26 22:46:51 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2016-05-11 15:43:04 +0000
commit0761614ccf5beb9051fb132c5f1990198f32967f (patch)
tree017bb893dfb5ee27f0d540bc6c2a4811e342833d
parent812e640561e932ab178b0cba16165272ef876b1a (diff)
tdf#98924 In windows, change the keyboard layout per application
reint the key maps when in windows change the language for the application Change-Id: I71045386b4fe4d6db5572effa07a2f01ce79e74f Reviewed-on: https://gerrit.libreoffice.org/23556 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
-rw-r--r--vcl/win/app/salinst.cxx2
-rw-r--r--vcl/win/window/salframe.cxx3
2 files changed, 5 insertions, 0 deletions
diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx
index 1f2d22cdd69e..906129fdfb29 100644
--- a/vcl/win/app/salinst.cxx
+++ b/vcl/win/app/salinst.cxx
@@ -299,6 +299,8 @@ void SalData::initKeyCodeMap()
if( nKey < 0xffff )\
maVKMap[ nKey ] = b;
+ maVKMap.clear();
+
initKey( '+', KEY_ADD );
initKey( '-', KEY_SUBTRACT );
initKey( '*', KEY_MULTIPLY );
diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index fd5d2076d05c..a7168989505c 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -4917,6 +4917,9 @@ static void ImplHandleInputLangChange( HWND hWnd, WPARAM, LPARAM lParam )
if( nLang != pFrame->mnInputLang )
pFrame->CallCallback( SalEvent::InputLanguageChange, 0 );
+ // reinit spec. keys
+ GetSalData()->initKeyCodeMap();
+
ImplSalYieldMutexRelease();
}