maint(windows): remove koSwitchLanguageForAllApplications, koAutoSwitchOSKPages, osVista, osWin7, osWin8, cleanup

* Remove references to `koSwitchLanguageForAllApplications` and
  `koAutoSwitchOSKPages` options, translated strings for them, and
  related `GlobalKeyboardChangeManager` -- no longer required since
  Win8.
* Remove Windows Vista-, 7-, and 8-specific code paths - except for the
  one user-facing setting for installing keyboards on downlevel
  operating systems.
* Remove commented code

Fixes: #16433
Test-bot: skip
This commit is contained in:
Marc Durdin 2026-08-27 07:47:25 +02:00
parent 2c7bba8d10
commit 0f281a6a9d
55 changed files with 26 additions and 466 deletions

View file

@ -1,18 +1,18 @@
(*
Name: GetOsVersion
Copyright: Copyright (C) SIL International.
Documentation:
Description:
Documentation:
Description:
Create Date: 4 Dec 2006
Modified Date: 28 May 2014
Authors: mcdurdin
Related Files:
Dependencies:
Related Files:
Dependencies:
Bugs:
Todo:
Notes:
Bugs:
Todo:
Notes:
History: 04 Dec 2006 - mcdurdin - Add osVista
04 May 2012 - mcdurdin - I3306 - V9.0 - Remove TntControls + Win9x support
24 Oct 2012 - mcdurdin - I3487 - V9.0 - Add detection of Win8
@ -27,7 +27,7 @@ uses
Winapi.Windows;
type
TOS = (osLegacy, osVista, osWin7, osWin8, osWin10, osOther); // I3669 // I4222
TOS = (osLegacy, osWin10, osOther); // I3669 // I4222
function GetOs: TOS;
@ -46,12 +46,7 @@ begin
begin
case osv.dwMajorVersion of
5: Result := osLegacy;
6: case osv.dwMinorVersion of
0: Result := osVista;
1: Result := osWin7;
2: Result := osWin8; // I3487
else Result := osWin8; // I3669
end;
6: Result := osLegacy;
10: Result := osWin10;
else
Result := osWin10;

View file

@ -35,12 +35,6 @@ var
t: TBCP47Tag;
LangTag: TLangTag;
begin
// We do not try and canonicalize language tags on Windows 7, because it does
// not follow the same patterns as for later versions of Windows. For example,
// zh-CN is not canonicalized to zh-Hans-CN
if GetOs = osWin7 then
Exit(Tag);
if Tag = '' then
Exit('');

View file

@ -127,9 +127,6 @@ const
SRegValue_ProxyLogin = 'proxy login';
SRegValue_AutoOpenOSK = 'auto open osk'; // CU, default true
SRegValue_AutoSwitchOSKPages = 'auto switch osk pages'; // CU, default true
SRegValue_SwitchLanguageWithKeyboard = 'switch language with keyboard'; // CU, default true
SRegValue_SwitchLanguageForAllApplications = 'switch language for all applications'; // CU, default true
SRegValue_DeepTSFIntegration = 'deep tsf integration'; // LM, 0=disable, 1=enable, 2=default
SRegKey_AppIntegration = SRegKey_KeymanEngine_LM + '\App Integration'; //KM

View file

@ -14,7 +14,7 @@
<xsl:sort select="sort" />
<div class="options_list_header"><xsl:value-of select="$locale/string[@name=current()/name]"/></div>
<xsl:for-each select="//KeymanOption[group=current()/name]">
<xsl:if test="optiontype = 1 and id != 'koAutoSwitchOSKPages' and id != 'koSwitchLanguageForAllApplications'">
<xsl:if test="optiontype = 1">
<xsl:call-template name="option" />
</xsl:if>
</xsl:for-each>

View file

@ -408,11 +408,6 @@
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Always show On Screen Keyboard Window when a FirstVoices keyboard is selected</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Switch to appropriate On Screen Keyboard/Help automatically when a keyboard is selected</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->

View file

@ -474,7 +474,7 @@ begin
end;
end;
if not (GetOs = osWin7) and not FFoundCustomTag then
if not FFoundCustomTag then
begin
if IsValidLocaleName(PChar(FText)) then
begin

View file

@ -336,10 +336,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">የኪይማን የፊደል ሰሌዳ ሲመረጥ ሁልጊዜ የስክሪን ላይ ኪቦርዱን መስኮት አሳይ</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">የፊደል ሰሌዳው በሚመረጥበት ጊዜ ወዲያውኑ ወደ ተገቢው የስክሪን ላይ ኪቦርድ እርዳታ ይቀይሩ</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">የኪማኑን ስህተቶች ፈልግ</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Keyman klaviaturası seçildikdə həmişə Ekran Klaviatura Pəncərəsini göstərin</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Bir klaviatura seçildikdə avtomatik müvafiq olaraq On Screen Keyboard / Help-ə keçmək</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Hata düzəltməsi</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Kǝlara saka ncangtǝ On Screen Keyboard Window saka tǝ mdǝ car keyboard ar Keyman</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Pali On Screen Keyboard/Help na kalkal ka kǝrni sakatǝ mdǝ car keyboard laga</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debugging</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Tsanti On Screen Keyboard Window kǝlara saka namtǝ ndǝ tsarba Keyman keyboard</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Mwari ata On Screen Keyboard/Help automatically saka namtǝ gǝ tsarba kibod</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debugging</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Vždy zobrazovat zapnuté okno klávesnice při výběru klávesnice</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Automaticky přepnout na vhodnou klávesnici na obrazovku/Pomoc při výběru klávesnice</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Ladění</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Bildschirmtastatur immer anzeigen wenn eine Keyman-Tastatur ausgewählt ist</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Bildschirmtastatur bzw. Hilfe automatisch anzeigen, wenn eine Tastatur ausgewählt wird</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Fehlersuchen einschalten</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Ὅταν ἐπιλέγετε πληκτρολόγιο Keyman, νὰ προβάλλετε πάντα τὸ πληκτρολόγιο ὀθόνης</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Μόλις ἐπιλεγεῖ πληκτρολόγιο νὰ ἐμφανίζεται αὐτομάτως τὸ κατάλληλο πληκτρολόγιο ὀθόνης ἢ ὀθόνη βοηθείας</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Διερεύνηση σφαλμάτων</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Mostrar siempre la ventana de teclado en pantalla cuando se seleccione el teclado de Keyman</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Cambiar automáticamente a Teclado en pantalla/Ayuda según corresponda cuando se selecciona un teclado</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Depurar</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Mostrar siempre la ventana Teclado En Pantalla cuando se selecciona el teclado Keyman</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Cambiar al Teclado En Pantalla apropiado/Ayuda automáticamente cuando se selecciona un teclado</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Depuración</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Koonday holla kibod man dow yeeso na`ura to kibod keyman suptaama</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Yaha haa dow kibod yeeso na`ura/mballa to kibod suptaama</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debugin</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -339,10 +339,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Hollir Tappirde Yaynirde tuma kala nde tappirde Keyman suɓaa</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Lomtin Tappirde Yaynirde/Ballal jaaɓdunde e jaajol so tappirde Keyman suɓaama</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Buggitagol</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Toujours afficher le clavier visuel lorsque le clavier Keyman est sélectionné</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Basculer au clavier visuel approprié/aide quand un clavier est sélectionné</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debogage</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Nuna Madannan Kan Screen koyaushe yayinda aka zaɓi madanni</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Koma ga Madannin Kan Screen da ya dace/Taikamaka kai tsaye yayinda aka zaɓi madanni</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Cire kuskure</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Always show On Screen Keyboard Window when Keyman keyboard is selected</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">A gunat daideya t Screen Keyboard/Fanast jiv kudeɗa t keyboard vita kabbklalo</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Klun tina magal kol ɗughwana</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Selalu tunjukkan jendela papan tombol di layar ketika papan tombol Keyman dipilih</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Ganti ke bantuan/papan tombol di layar yang sesuai ketika memilih sebuah papan tombol</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debugging</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Mostra sempre sulla finestra della tastiera a schermo quando è selezionata la tastiera Keyman</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Passa automaticamente a appropriate Tastiera/Aiuto sullo schermo quando viene selezionata una tastiera</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debug</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">បង្ហាញ \"ក្ដារចុចលើអេក្រង់\" ជា​និច្ច នៅពេល​បាន​ជ្រើសរើស​ក្ដារចុច Keyman</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">ប្ដូរ​ទៅ \"ក្ដារចុច​លើអេក្រង់/ជំនួយ\" ដែល​ពាក់ព័ន្ធ​ដោយ​ស្វ័យប្រវត្តិ នៅពេល​ក្ដារចុច​ណាមួយត្រូវ​បាន​ជ្រើសរើស​</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">ការប្រមូល​ព័ត៌មានសម្រាប់​ដោះស្រាយ​បញ្ហា</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">ಹೊಸ ಕೀಮ್ಯಾನ್ ಕೀಲಿಮಣೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿದಾಗ ತೆರೆಯ ಮೇಲಿನ ಕೀಲಿಮಣೆಯನ್ನು ತೋರಿಸು</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">ಬೇರೆ ಕೀಲಿಮಣೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿದಾಗ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಹಾಯ ಅಥವಾ ತೆರೆಯ ಮೇಲಿನ ಕೀಲಿಮಣೆಯನ್ನು ಬದಲಿಸು</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">ಡೀಬಗ್ ಮಾಡುವುದು</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Sambi yayiScreen Keyboard Window dǝ fulene sa Keyman keyboard dǝ karnǝmiya</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Kalakkǝne rattǝram kalkalma dǝro</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Kadau dǝga kulasne tuluye</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">A nja a ban kwa Keyboard Window at sikirine ma seke an ksa Keyman keyboard ŋanna gé slera</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Magamaga Switch a dem kalkale sikirin Keyboard/anuga mla ma seke ksanta-ksande keyboard ŋanna</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debugging</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">ယဝ်ရ ကဳဗုဒ်ကဳမာန် ရုဲလဝ်မ္ဂး ပံက် ကဳဗုဒ်ဗၠးမုက် လၟိန်</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">ယဝ်ရ ရုဲစှ်လဝ်ကဳဗုဒ်မွဲမွဲမ္ဂး ပံက်ကဵု အရီုဗၚ် မဆက်စပ် ကု ကဳဗုဒ်ဗၠးမုက်</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">ဂၠိုက်ဂၠာဲပသောၚ်စၟ</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Kuga ncha On Screen Keyboard Window ma nagu ga caɗu Keyman keyboard</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Kuga pubila alu On screen Keyboard/ thlia ɓar udzu ma mji a caba keyboard ari</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debugging</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -10,7 +10,6 @@
<string name="HintTitle_KH_EXITPRODUCT" comment="/HintTitle: ">ထွက်ပါ Keyman?</string>
<string name="koAltGrCtrlAlt" comment="/FormatString: ">Simulate AltGr with Ctrl+Alt</string>
<string name="koAutoOpenOSK" comment="/FormatString: ">ကီးမန်းကီးဘုတ်ကို ရွေးသည့်အခါတိုင်း Screenမှာပေါ်မှာမြင်ရမည့်ကီးဘုတ် ကိုပြပါ</string>
<string name="koAutoSwitchOSKPages" comment="/FormatString: ">ကီးဘုတ်ကိုရွေးချယ်ပြီးပါက သင့်လျော်သော Screenမှာပေါ်မှာမြင်ရမည့်ကီးဘုတ်/အကူအညီကို အလိုအလျောက်ပြပါ</string>
<string name="koDebugging" comment="/FormatString: ">Debugging</string>
<string name="kogAdvanced" comment="/FormatString: ">အဆင့်မြင့်</string>
<string name="kogGeneral" comment="/FormatString: ">General</string>

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Toon altijd op het scherm toetsenbord wanneer toetsenbord is geselecteerd</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Schakel automatisch over naar toepasselijk bij schermtoetsenbord/Help wanneer een toetsenbord is geselecteerd</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Foutopsporing</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,10 +315,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Zawsze pokazuj okno klawiatury ekranowej, gdy wybrana jest klawiatura Keyman</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Automatycznie przełącz na odpowiednią klawiaturę ekranową/stronę pomocy po wybraniu klawiatury</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debugowanie</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Always show On Screen Keyboard Window when Keyman keyboard is selected</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Switch to appropriate On Screen Keyboard/Help automatically when a keyboard is selected</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debugging</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Mostrar sempre Teclado Virtual enquanto o teclado Keyman estiver selecionado.</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Mudar automaticamente para a Ajuda apropriada do Teclado Virtual quando um teclado for selecionado</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Depuração</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -105,7 +105,6 @@ Create a user interface translation for Keyman Desktop at http://www.tavultesoft
<string name="koTestKeymanFunctioning" comment="Configuration Dialog - Options tab/FormatString: Startup options - test for conflicting apps when Product starts (introduced 7.0.236.0)">[!!Ţēśŧ ƒőŗ ćōńƒłĭćţıņġ ȃƥƿŀīčäťīōňş ŵĥēƞ !!]Keyman[!! şťǻřţš!!]</string>
<string name="koReleaseShiftKeysAfterKeyPress" comment="Configuration Dialog - Options tab/FormatString: OSK options - Releases shift/ctrl/alt on OSK after key press (introduced 7.0.236.0)">[!!Ŕěŀęàšĕ Şĥıƒţ/Ĉţřŀ/Ȁľŧ ōň Őņ Ŝčŗėěń Ķēŷƃơâŕđ ȃƒţēŕ ćŀĭċĸīňģ å ĸȅȳ!!]</string>
<string name="koAutoOpenOSK" comment="Configuration Dialog - Options tab/FormatString: OSK options - auto-open OSK (introduced 7.0.244.0)">[!!Äľŵȁƴŝ ŝĥŏŵ Őƞ Šċŕėěń ĶĕƴƄōãřđ Ŵīƞďơŵ ŵĥėń Ķěɏmàƞ ķȇƴƃőáŗď ĩš śēļĕĉţěď!!]</string>
<string name="koAutoSwitchOSKPages" comment="Configuration Dialog - Options tab/FormatString: OSK options - when a keyboard is activated, switch to most appropriate page in OSK (introduced 7.0.244.0)">[!!Šŵĭŧčĥ ŧơ āƥƿřőƥŕįáŧė Őŋ Šćŗěėń ƘȅƴƄőãŗđ/Ħȅĺƿ áųťơmăŧĭĉåłŀŷ ŵĥȅņ ȃ ķęȳƀōāŕđ ĭŝ śĕļȇćţȇđ!!]</string>
<string name="koDebugging" comment="Configuration Dialog - Options tab/FormatString: Advanced options - turn on debugging (which creates a very large file) (introduced 7.0.230.0)">[!!ĎēƄŭģġįƞĝ!!]</string>
<string name="S_Button_UILanguage" comment="Configuration Dialog - Options tab/PlainText: Options button - changes user interface language/localization (introduced 7.0.230.0)">[!!Ůšēř ĩŋţĕŗƒāĉē łáņģůȃġė...!!]</string>
<string name="S_Button_BaseKeyboard" comment="Configuration Dialog - Options tab/PlainText: Options tab - base keyboard button (introduced 9.0.445.0)">[!!Ɓâśȇ Ƙȇƴɓŏäŕđ...!!]</string>

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Всегда показывать в экранном окне клавиатуры при выборе клавиатуры</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Переключиться на соответствующую клавиатуру/справку при выборе клавиатуры</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Отладка</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Matakula eiwari Keyboard albinshaf matakula kan assar Keyman Keyboard</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Eilbarram ley Keyboard albinshaf alsayid/Mi\'awana bey dumta kan azzaltal keyboard</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Debugging</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Visa alltid på tangentbordsfönstret när tangentbordet är markerat</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Växla till lämplig På skärmen Tangentbord/Hjälp automatiskt när ett tangentbord väljs</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Felsökning</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -315,7 +315,6 @@ Entries not in this file will be sourced from the default locale.xml file in the
<string name="koTestKeymanFunctioning" comment="Configuration Dialog - Options tab/FormatString: Startup options - test for conflicting apps when Product starts (introduced 7.0.236.0)">Test for conflicting applications when Keyman starts</string>
<string name="koReleaseShiftKeysAfterKeyPress" comment="Configuration Dialog - Options tab/FormatString: OSK options - Releases shift/ctrl/alt on OSK after key press (introduced 7.0.236.0)">Release Shift/Ctrl/Alt on On Screen Keyboard after clicking a key</string>
<string name="koAutoOpenOSK" comment="Configuration Dialog - Options tab/FormatString: OSK options - auto-open OSK (introduced 7.0.244.0)">Always show On Screen Keyboard Window when Keyman keyboard is selected</string>
<string name="koAutoSwitchOSKPages" comment="Configuration Dialog - Options tab/FormatString: OSK options - when a keyboard is activated, switch to most appropriate page in OSK (introduced 7.0.244.0)">Switch to appropriate On Screen Keyboard/Help automatically when a keyboard is selected</string>
<string name="S_Button_BaseKeyboard" comment="Configuration Dialog - Options tab/PlainText: Options tab - base keyboard button (introduced 9.0.445.0)">Base Keyboard...</string>
<string name="S_Hotkey_Language_Prefix" comment="Configuration Dialog - Hotkeys tab/PlainText: Hotkey - activation term preceding Windows language name. Note: include a space following. (introduced 7.0.241.0)"/>
<string name="S_Hotkey_Language_Suffix" comment="Configuration Dialog - Hotkeys tab/PlainText: Hotkey - language term following Windows language name. Note: include an initial space. (introduced 7.0.241.0)"/>

View file

@ -10,7 +10,6 @@
<string name="HintTitle_KH_EXITPRODUCT" comment="/HintTitle: ">Keyman'tan Çıkış?</string>
<string name="koAltGrCtrlAlt" comment="/FormatString: ">AltGr'yi Ctrl+Alt ile simüle edin</string>
<string name="koAutoOpenOSK" comment="/FormatString: ">Keyman klavye seçildiğinde daima Ekran Klavyesi Penceresini gösterin</string>
<string name="koAutoSwitchOSKPages" comment="/FormatString: ">Bir klavye seçildiğinde uygun Ekran Klavyesi/ Yardım'a otomatik olarak geçin</string>
<string name="koDeadkeyConversion" comment="/FormatString: ">Harf imleme tuşlarına düz tuşlar gibi davran</string>
<string name="koDebugging" comment="/FormatString: ">Hata Ayıklama</string>
<string name="kogAdvanced" comment="/FormatString: ">Gelişmiş</string>

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Завжди показувати на екранному вікні, коли вибрано клавіатуру Keyman</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Автоматично переключатися на відповідну клавіатуру на екрані/допомога при виборі клавіатури</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Відлагодження</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -10,7 +10,6 @@
<string name="HintTitle_KH_EXITPRODUCT" comment="/HintTitle: ">Vusto andar fora da Keyman Desktop?</string>
<string name="koAltGrCtrlAlt" comment="/FormatString: ">Ìmita AltGr co' Ctrl+Alt</string>
<string name="koAutoOpenOSK" comment="/FormatString: ">Mostra senpre ƚa finèstra de ƚa Mapa Tastièra co xé desernìo ƚa tastièra Keyman</string>
<string name="koAutoSwitchOSKPages" comment="/FormatString: ">Pasa a ƚa pàxena pì pròpia de Mapa Tastièra so Schèrmo co xé desernìo na tastièra</string>
<string name="koDebugging" comment="/FormatString: ">Debugging</string>
<string name="kogAdvanced" comment="/FormatString: ">Avansà</string>
<string name="kogGeneral" comment="/FormatString: ">Xeneral</string>

View file

@ -343,10 +343,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Luôn hiện Cửa sổ Bàn phím ảo khi bàn phím Keyman được chọn</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Tự động chuyển sang Bàn phím ảo/Trợ giúp phù hợp khi chọn bàn phím</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">Gỡ lỗi</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -335,10 +335,6 @@
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">选择键盘时,总是在屏幕键盘窗口中显示</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">当选择键盘时,自动切换到屏幕键盘/帮助</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->
<string name="koDebugging" comment="Advanced options - turn on debugging (which creates a very large file)">调试中</string>
<!-- Context: Configuration Dialog - Options tab -->

View file

@ -73,7 +73,6 @@ begin
kmcom.Options['koKeyboardHotkeysAreToggle'].Value := True;
kmcom.Options['koAltGrCtrlAlt'].Value := False;
kmcom.Options['koShowHints'].Value := True;
kmcom.Options['koSwitchLanguageForAllApplications'].Value := True;
{ Startup }
kmcom.Options['koShowStartup'].Value := True;
@ -82,7 +81,6 @@ begin
{ OSK }
kmcom.Options['koReleaseShiftKeysAfterKeyPress'].Value := False;
kmcom.Options['koAutoOpenOSK'].Value := False;
kmcom.Options['koAutoSwitchOSKPages'].Value := True;
//// TODO: kmcom.Options['koShowOSKOnStartup'] := True;
{ Advanced } // I3629
@ -109,7 +107,6 @@ begin
kmcom.Options['koTestKeymanFunctioning'].Value := not ValueExists(SRegValue_TestKeymanFunctioning) or ReadBool(SRegValue_TestKeymanFunctioning);
kmcom.Options['koReleaseShiftKeysAfterKeyPress'].Value := ValueExists(SRegValue_ReleaseShiftKeysAfterKeyPress) and ReadBool(SRegValue_ReleaseShiftKeysAfterKeyPress);
kmcom.Options['koAutoSwitchOSKPages'].Value := not ValueExists(SRegValue_AutoSwitchOSKPages) or ReadBool(SRegValue_AutoSwitchOSKPages);
if OpenKeyReadOnly(SRegKey_UpgradeBackupPath_CU + SRegKey_KeymanEngine70_CU+'\hotkeys\1') or OpenKeyReadOnly(SRegKey_UpgradeBackupPath_CU + SRegKey_KeymanEngine70_CU+'\hotkeys\8') then
begin

View file

@ -14,7 +14,7 @@
<xsl:sort select="sort" />
<div class="options_list_header" tabindex="-1"><xsl:value-of select="$locale/string[@name=current()/name]"/></div>
<xsl:for-each select="//KeymanOption[group=current()/name]">
<xsl:if test="optiontype = 1 and id != 'koAutoSwitchOSKPages' and id != 'koSwitchLanguageForAllApplications'">
<xsl:if test="optiontype = 1">
<xsl:call-template name="option" />
</xsl:if>
</xsl:for-each>

View file

@ -434,11 +434,6 @@
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoOpenOSK" comment="OSK options - auto-open OSK">Always show On Screen Keyboard Window when Keyman keyboard is selected</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.244.0 -->
<string name="koAutoSwitchOSKPages" comment="OSK options - when a keyboard is activated, switch to most appropriate page in OSK">Switch to appropriate On Screen Keyboard/Help automatically when a keyboard is selected</string>
<!-- Context: Configuration Dialog - Options tab -->
<!-- String Type: FormatString -->
<!-- Introduced: 7.0.230.0 -->

View file

@ -416,7 +416,7 @@ function TSetupBootstrap.CheckForOldVersionScenario: Boolean; // I4460
var
OldKMShellPath: string;
begin
if not (GetOS in [osLegacy, osVista]) then // I4365
if GetOS <> osLegacy then // I4365
Exit(False);
if FInstallInfo.Packages.Count = 0 then

View file

@ -3,6 +3,9 @@ keyman32/keyman-debug-etw.h
keyman32/keyman-debug-etw.rc
keyman32/keyman-debug-etw.res
keyman32/keyman-debug-etwTEMP.BIN
keymanhp/versionarm64.res
keymanhp/versionx64.res
kmcomapi/kbd_noicon.res
mcompile/Debug
# Visual Studio packages for test

View file

@ -1,142 +0,0 @@
unit GlobalKeyboardChangeManager;
interface
uses
Winapi.Windows,
Winapi.Messages,
System.Classes,
System.SysUtils,
Keyman.System.SharedBuffers,
LangSwitchManager;
type
TGlobalKeyboardChangeManager = class(TThread)
private type
TLastKeyboard = record
TIP: TSelectKeyboardBuffer;
Keyboard: HKL;
end;
private var
FWindow: HWND;
FLastKeyboard: TLastKeyboard;
procedure WndProc(var Message: TMessage);
procedure ProcessChange(Mode: Integer; Param: NativeUInt);
protected
procedure Execute; override;
public
constructor Create;
destructor Destroy; override;
procedure PostChange(Keyboard: TLangSwitchKeyboard);
end;
implementation
uses
Keyman.System.DebugLogClient,
UfrmKeyman7Main;
const
WM_USER_DESTROY = WM_USER + 1;
WM_USER_CHANGE = WM_USER + 2;
{ TGlobalKeyboardChangeManager }
constructor TGlobalKeyboardChangeManager.Create;
begin
inherited Create(False);
end;
destructor TGlobalKeyboardChangeManager.Destroy;
begin
if FWindow <> 0 then
PostMessage(FWindow, WM_USER_DESTROY, 0, 0);
inherited Destroy;
end;
procedure TGlobalKeyboardChangeManager.Execute;
var
msg: TMsg;
begin
FWindow := AllocateHwnd(WndProc); // TODO: Not thread safe!
while GetMessage(msg, 0, 0, 0) do
begin
DispatchMessage(msg);
end;
DeallocateHwnd(FWindow);
end;
procedure TGlobalKeyboardChangeManager.PostChange(
Keyboard: TLangSwitchKeyboard);
var
TIP: TLangSwitchKeyboard_TIP;
WinKB: TLangSwitchKeyboard_WinKeyboard;
lk: TLastKeyboard;
FIdentity: DWORD;
begin
lk := FLastKeyboard;
if Keyboard is TLangSwitchKeyboard_TIP then
begin
TIP := Keyboard as TLangSwitchKeyboard_TIP;
lk.TIP.LangID := TIP.Profile.langid;
lk.TIP.CLSID := TIP.Profile.clsid;
lk.TIP.GUIDProfile := TIP.Profile.guidProfile;
TDebugLogClient.Instance.WriteMessage('TGlobalKeyboardChangeManager.PostChange TIP', []);
if not CompareMem(@lk, @FLastKeyboard, SizeOf(TLastKeyboard)) then
begin
FLastKeyboard := lk;
FIdentity := TSharedBufferManager.Identity.WriteSelectKeyboardBuffer(lk.TIP);
PostMessage(FWindow, WM_USER_CHANGE, KMCI_SELECTKEYBOARD_BACKGROUND_TSF, FIdentity);
end;
end
else if Keyboard is TLangSwitchKeyboard_WinKeyboard then
begin
WinKB := Keyboard as TLangSwitchKeyboard_WinKeyboard;
lk.Keyboard := WinKB.HKL;
TDebugLogClient.Instance.WriteMessage('TGlobalKeyboardChangeManager.PostChange HKL', []);
if not CompareMem(@lk, @FLastKeyboard, SizeOf(TLastKeyboard)) then
begin
FLastKeyboard := lk;
PostMessage(FWindow, WM_USER_CHANGE, KMCI_SELECTKEYBOARD_BACKGROUND, lk.Keyboard);
end;
end
else
begin
Exit;
end;
end;
procedure TGlobalKeyboardChangeManager.ProcessChange(Mode: Integer; Param: NativeUInt);
begin
SendMessageTimeout(HWND_BROADCAST, wm_keyman_control_internal, Mode, Param, SMTO_ABORTIFHUNG, 250, nil);
end;
procedure TGlobalKeyboardChangeManager.WndProc(var Message: TMessage);
begin
with Message do
begin
case Message.Msg of
WM_USER_DESTROY:
DestroyWindow(FWindow);
WM_DESTROY:
begin
PostQuitMessage(0);
Result := 0;
end;
WM_USER_CHANGE:
ProcessChange(WParam, LParam);
else
Message.Result := DefWindowProc(FWindow, Msg, WParam, LParam);
end;
end;
end;
end.

View file

@ -153,8 +153,6 @@ uses
Keyman.System.FrameworkInputPane,
keymanapi_TLB,
//TOUCH UfrmTouchKeyboard,
GlobalKeyboardChangeManager,
UfrmVisualKeyboard,
IntegerList,
KeymanTrayIcon,
@ -222,7 +220,6 @@ type
FLastFocus: THandle;
FLastActive: THandle;
FLangSwitchManager: TLangSwitchManager; // I3933
FGlobalKeyboardChangeManager: TGlobalKeyboardChangeManager; // I4271
FActiveHKL: Integer;
FTrayIcon: TIcon; // I4359
@ -253,7 +250,6 @@ type
procedure TrayIconMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure TrayIconDblClick(Sender: TObject);
//function CreateKeymanMenuItem(Owner: TPopupMenu; rp: TRunningProduct; cmi: IKeymanCustomisationMenuItem): TKeymanMenuItem;
function AppMessage(var Message: TMessage): Boolean;
procedure TestKeymanFunctioning(FunctionType: TTestKeymanFunctionType; RunOnSuccess, ResetCounter: Boolean);
function ShouldTestKeymanFunctioning: Boolean;
@ -262,13 +258,10 @@ type
procedure UpdateOSKVisibility;
function GetOption_AutoOpenOSK: Boolean;
function GetOption_AutoSwitchOSKPages: Boolean;
//procedure SnapToolHelp;
procedure RecreateTaskbarIcons;
function StartKeymanEngine: Boolean;
procedure StartKeymanHostProcess(ProcessName: string);
procedure OpenTextEditor;
//function GetCachedKeymanID(hkl: DWORD): DWORD;
procedure ShowLanguageSwitchForm;
procedure LanguageSwitchFormHidden(Sender: TObject);
procedure RegisterControllerWindows; // I3092
@ -278,13 +271,7 @@ type
function GetActiveKeymanID: Integer; // I3949
procedure RequestCurrentActiveKeyboard(Command: WORD); // I3961
function ProcessWMKeymanControl(Command, WParam: Word; LParam: DWord): LResult; // I3961
//TOUCH procedure HideTouchKeyboard;
//TOUCH procedure ShowTouchKeyboard;
//TOUCH function UseTouchKeyboard: Boolean;
//TOUCH function TouchKeyboardVisible: Boolean;
//TOUCH procedure ProcessContextChange(Atom: DWORD);
procedure PostGlobalKeyboardChange(FActiveKeyboard: TLangSwitchKeyboard); // I4271
function IsControllerWindow(AHandle: THandle): Boolean; // I4731
procedure UpdateFocusInfo; // I4731
procedure UnregisterControllerWindows; // I4731
@ -339,7 +326,6 @@ type
property LangSwitchManager: TLangSwitchManager read FLangSwitchManager; // I3933
property Option_AutoOpenOSK: Boolean read GetOption_AutoOpenOSK;
property Option_AutoSwitchOSKPages: Boolean read GetOption_AutoSwitchOSKPages;
end;
var
@ -405,7 +391,7 @@ uses
klog,
GetOsVersion,
System.StrUtils,
System.Win.ComObj, {tlhelp32,}
System.Win.ComObj,
VistaMessages,
Vcl.AxCtrls,
Vcl.Buttons,
@ -469,8 +455,6 @@ begin
rp.FTrayIcon.OnMouseUp := TrayIconMouseUp;
rp.FTrayIcon.OnDblClick := TrayIconDblClick;
rp.FTrayIcon.OnUnresponsive := TrayIconUnresponsive;
//rp.FTrayIcon.OnClick := TrayIconClick;
// rp.FTrayIcon.Icon.ReleaseHandle;
rp.FTrayIcon.Icon.Assign(FTrayIcon);
rp.FTrayIcon.Hint := MsgFromId(SKApplicationTitle);
rp.FTrayIcon.Visible := True;
@ -502,9 +486,6 @@ procedure TfrmKeyman7Main.FormCreate(Sender: TObject);
begin
TKeymanSentryClient.Breadcrumb('trace', 'TfrmKeyman7Main.FormCreate');
if GetOs in [osVista, osWin7] then // I4576
FGlobalKeyboardChangeManager := TGlobalKeyboardChangeManager.Create; // I4271
frmKeymanMenu := TfrmKeymanMenu.Create(Self);
FLangSwitchManager := TLangSwitchManager.Create; // I3933
@ -517,7 +498,6 @@ begin
end;
Application.HookMainWindow(AppMessage);
// FRunningProduct := TRunningProduct.Create;
sMsg_TaskbarRestart := RegisterWindowMessage('TaskbarCreated');
ChangeWindowMessageFilter(sMsg_TaskbarRestart, MSGFLT_ADD);
@ -527,11 +507,6 @@ begin
PostMessage(Handle, WM_USER_Start, 0, 0);
end;
{procedure TfrmKeyman7Main.AppDebug(var Msg: TMsg; var Handled: Boolean);
begin
KL.Log('MESSAGE %8.8x %x [%x, %x]', [Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam]);
end;}
procedure TfrmKeyman7Main.FormDestroy(Sender: TObject);
begin
TKeymanSentryClient.Breadcrumb('trace', 'TfrmKeyman7Main.FormDestroy');
@ -552,8 +527,6 @@ begin
end;
if Assigned(frmVisualKeyboard) then // I1096 - silent exception when Keyman closes
begin
//frmVisualKeyboard.Hide;
//frmVisualKeyboard.Release;
FreeAndNil(frmVisualKeyboard); // I2692
end;
@ -571,10 +544,7 @@ begin
kmint.KeymanEngineControl.ShutdownKeyman32Engine;
FreeAndNil(FLangSwitchManager); // I3933
//Windows.MessageBox(Handle, PChar(IntToStr(kmcom._AddRef)), 'RefCount+1', MB_OK);
kmint.kmcom := nil; // I5132
FreeAndNil(FGlobalKeyboardChangeManager); // I4271
end;
function TfrmKeyman7Main.GetOption_AutoOpenOSK: Boolean;
@ -582,11 +552,6 @@ begin
Result := kmcom.Options.Items['koAutoOpenOSK'].Value;
end;
function TfrmKeyman7Main.GetOption_AutoSwitchOSKPages: Boolean;
begin
Result := kmcom.Options.Items['koAutoSwitchOSKPages'].Value;
end;
function TfrmKeyman7Main.IsControllerWindow(AHandle: THandle): Boolean; // I4731
begin
Result := GetWindowThreadProcessId(AHandle, nil) = GetCurrentThreadId;
@ -865,11 +830,6 @@ begin
Sleep(5000);
TDebugLogClient.Instance.WriteMessage('kmc_fakefreeze end', []);
end;
//TOUCH KMC_CONTEXT:
//TOUCH begin
//TOUCH if LParam <> 0 then
//TOUCH ProcessContextChange(LParam);
//TOUCH end;
end;
end;
@ -1120,16 +1080,6 @@ begin // I3933
frmKeymanMenu.PopupEx(mnu, pt.x, pt.y, systraylocation); // I3990
end;
procedure TfrmKeyman7Main.PostGlobalKeyboardChange(FActiveKeyboard: TLangSwitchKeyboard); // I4271
begin
if Assigned(FActiveKeyboard) and
Assigned(kmcom) and
(GetOs in [osVista, osWin7]) and // I4576 // I4576 // I4576
kmcom.Options.Items['koSwitchLanguageForAllApplications'].Value and
Assigned(FGlobalKeyboardChangeManager) then
FGlobalKeyboardChangeManager.PostChange(FActiveKeyboard);
end;
procedure TfrmKeyman7Main.TrayIconDblClick(Sender: TObject);
begin
SetLastFocus;
@ -1317,8 +1267,6 @@ begin
end;
end;
//Windows.MessageBox(Handle, PChar(IntToStr(kmcom._AddRef)), 'RefCount+1', MB_OK);
try
kmcom.AutoApply := False;
kmcom.Keyboards.Apply;
@ -1423,8 +1371,6 @@ begin
GlobalDeleteAtom(HiWord(CommandAndAtom)); // I3949
buf := buftext;
//OutputDebugString(PChar('ProcessProfileChange("'+buf+'")'#13#10));
{debug := } StrToken(buf, '|'); // I4285
if not TryStrToInt(StrToken(buf, '|'), FLangID) then Exit;
@ -1502,18 +1448,11 @@ begin
UpdateOSKVisibility;
end;
PostGlobalKeyboardChange(FActiveKeyboard); // I4271
if Assigned(frmVisualKeyboard) then // I3949
begin
frmVisualKeyboard.RefreshSelectedKeyboard; // I2398
end;
//TOUCH if Assigned(frmTouchKeyboard) then
//TOUCH begin
//TOUCH frmTouchKeyboard.RefreshSelectedKeyboard;
//TOUCH end;
if wCommand = PC_UPDATE_LANGUAGESWITCH then // I4124
begin // TODO fixup product id
//OutputDebugString(PChar('Showing language switch form'#13#10));
@ -1577,7 +1516,6 @@ begin
Exit;
end;
//Windows.SetForegroundWindow(FLastFocus); //FLastActive);
if Winapi.Windows.SetFocus(FLastFocus) = 0 then
TDebugLogClient.Instance.WriteLastError('SetLastFocus', 'SetFocus');
@ -1695,19 +1633,9 @@ end;
procedure TfrmKeyman7Main.MnuVisualKeyboard(Sender: TObject);
begin
SetLastFocus; // I1289 - Focus not returned to active app when OSK opened
//TOUCH if UseTouchKeyboard then
//TOUCH begin
//TOUCH if TouchKeyboardVisible
//TOUCH then HideTouchKeyboard
//TOUCH else ShowTouchKeyboard;
//TOUCH end
//TOUCH else
//TOUCH begin
if VisualKeyboardVisible(apKeyboard)
then HideVisualKeyboard
else ShowVisualKeyboard(apKeyboard);
//TOUCH end;
if VisualKeyboardVisible(apKeyboard)
then HideVisualKeyboard
else ShowVisualKeyboard(apKeyboard);
end;
procedure TfrmKeyman7Main.MnuFontHelper(Sender: TObject);
@ -1747,12 +1675,6 @@ procedure TfrmKeyman7Main.HideVisualKeyboard;
begin
if not Assigned(kmcom) and not StartKeymanEngine then Exit;
//TOUCH if UseTouchKeyboard then
//TOUCH begin
//TOUCH HideTouchKeyboard;
//TOUCH Exit;
//TOUCH end;
if Assigned(frmVisualKeyboard) then // I1274 - Avoid crash when closing OSK when already closed!
frmVisualKeyboard.Release;
end;
@ -1761,14 +1683,6 @@ procedure TfrmKeyman7Main.ShowVisualKeyboard(Page: TOSKActivePage);
begin
if not Assigned(kmcom) and not StartKeymanEngine then Exit;
//TOUCH if UseTouchKeyboard then
//TOUCH begin
//TOUCH ShowTouchKeyboard;
//TOUCH Exit;
//TOUCH end;
//TOUCH HideTouchKeyboard;
if not Assigned(frmVisualKeyboard) then // I1274 - Related, don't recreate OSK if already exists
begin
frmVisualKeyboard := TfrmVisualKeyboard.Create(nil);
@ -1785,11 +1699,6 @@ begin
Result := Assigned(frmVisualKeyboard) and ((Page = apUndefined) or (frmVisualKeyboard.ActivePage = Page));
end;
//TOUCH function TfrmKeyman7Main.TouchKeyboardVisible: Boolean;
//TOUCH begin
//TOUCH Result := Assigned(frmTouchKeyboard);
//TOUCH end;
procedure TfrmKeyman7Main.TestKeymanFunctioning(FunctionType: TTestKeymanFunctionType; RunOnSuccess, ResetCounter: Boolean);
begin
tmrTestKeymanFunctioning.Enabled := False;
@ -1820,41 +1729,6 @@ begin
end;
end;
//TOUCH procedure TfrmKeyman7Main.ShowTouchKeyboard;
//TOUCH var
//TOUCH FProduct: IKeymanProduct;
//TOUCH begin
//TOUCH if not Assigned(kmcom) and not StartKeymanEngine then Exit;
//TOUCH
//TOUCH if Assigned(frmVisualKeyboard) then // I1274 - Avoid crash when closing OSK when already closed!
//TOUCH frmVisualKeyboard.Release;
//TOUCH
//TOUCH if not Assigned(frmTouchKeyboard) then
//TOUCH begin
//TOUCH FProduct := ProductFromMenuItem(nil);
//TOUCH if not Assigned(FProduct) then Exit;
//TOUCH
//TOUCH frmTouchKeyboard := TfrmTouchKeyboard.Create(nil, FProduct);
//TOUCH frmTouchKeyboard.FreeNotification(Self);
//TOUCH frmTouchKeyboard.SetContext(FCurrentContext);
//TOUCH //frmTouchKeyboard.Show;
//TOUCH end;
//TOUCH end;
//TOUCH procedure TfrmKeyman7Main.HideTouchKeyboard;
//TOUCH begin
//TOUCH if not Assigned(kmcom) and not StartKeymanEngine then Exit;
//TOUCH
//TOUCH FreeAndNil(frmTouchKeyboard);
//TOUCH end;
//TOUCH function TfrmKeyman7Main.UseTouchKeyboard: Boolean;
//TOUCH begin
//TOUCH if not Assigned(kmcom)
//TOUCH then Result := False
//TOUCH else Result := kmcom.Options['koUseTouchLayout'].Value;
//TOUCH end;
procedure TfrmKeyman7Main.tmrCheckInputPaneTimer(Sender: TObject);
var
r: TRect;

View file

@ -86,7 +86,6 @@ uses
Keyman.System.Util.RenderLanguageIcon in '..\..\..\..\common\windows\delphi\ui\Keyman.System.Util.RenderLanguageIcon.pas',
TempFileManager in '..\..\..\..\common\windows\delphi\general\TempFileManager.pas',
utiltsf in '..\..\global\delphi\general\utiltsf.pas',
GlobalKeyboardChangeManager in 'GlobalKeyboardChangeManager.pas',
utilwow64 in '..\..\global\delphi\general\utilwow64.pas',
USendInputString in '..\..\global\delphi\general\USendInputString.pas',
Upload_Settings in '..\..\..\..\common\windows\delphi\general\Upload_Settings.pas',

View file

@ -211,7 +211,6 @@
<DCCReference Include="..\..\..\..\common\windows\delphi\ui\Keyman.System.Util.RenderLanguageIcon.pas"/>
<DCCReference Include="..\..\..\..\common\windows\delphi\general\TempFileManager.pas"/>
<DCCReference Include="..\..\global\delphi\general\utiltsf.pas"/>
<DCCReference Include="GlobalKeyboardChangeManager.pas"/>
<DCCReference Include="..\..\global\delphi\general\utilwow64.pas"/>
<DCCReference Include="..\..\global\delphi\general\USendInputString.pas"/>
<DCCReference Include="..\..\..\..\common\windows\delphi\general\Upload_Settings.pas"/>

View file

@ -1000,11 +1000,11 @@ begin
end;
procedure TfrmVisualKeyboard.WMKeymanOskModifierEvent(var Message: TMessage);
begin
if Assigned(FOnScreenKeyboard) then
FOnScreenKeyboard.OskModifierEvent(Message.WParam, Message.LParam);
end;
begin
if Assigned(FOnScreenKeyboard) then
FOnScreenKeyboard.OskModifierEvent(Message.WParam, Message.LParam);
end;
procedure TfrmVisualKeyboard.AdjustToClosestMonitor(var x, y, cx, cy: Integer);
var
m: TMonitor;
@ -1589,7 +1589,6 @@ procedure TfrmVisualKeyboard.UpdateActivePage;
begin
if ActivePage in [apUndefined, apKeyboard] then // I2287
begin
{$MESSAGE HINT 'eliminate Option_AutoSwitchOSKPages'}
LoadKeyboard;
if (frmKeyman7Main.ActiveKeymanID = KEYMANID_NONKEYMAN) or FOnScreenKeyboard.HasVisualKeyboard(frmKeyman7Main.ActiveKeymanID) then // I3949
ActivePage := apKeyboard

View file

@ -122,11 +122,10 @@ type
end;
// The Default options here need to be consistent with the defaults set in TfrmRunDesktop.GetDefaultSettings
const KeymanOptionInfo: array[0..16] of TKeymanOptionInfo = ( // I3331 // I3620 // I4552
const KeymanOptionInfo: array[0..14] of TKeymanOptionInfo = ( // I3331 // I3620 // I4552
// Global options
(opt: koKeyboardHotkeysAreToggle; RegistryName: SRegValue_KeyboardHotkeysAreToggle; OptionType: kotBool; BoolValue: False; GroupName: 'kogGeneral'),
(opt: koSwitchLanguageForAllApplications; RegistryName: SRegValue_SwitchLanguageForAllApplications; OptionType: kotBool; BoolValue: True; GroupName: 'kogGeneral'), // I2277 // I4393
(opt: koAltGrCtrlAlt; RegistryName: SRegValue_AltGrCtrlAlt; OptionType: kotBool; BoolValue: False; GroupName: 'kogGeneral'),
(opt: koRightModifierHK; RegistryName: SRegValue_AllowRightModifierHotKey; OptionType: kotBool; BoolValue: False; GroupName: 'kogGeneral'),
(opt: koShowHints; RegistryName: SRegValue_EnableHints; OptionType: kotBool; BoolValue: True; GroupName: 'kogGeneral'),
@ -140,7 +139,6 @@ const KeymanOptionInfo: array[0..16] of TKeymanOptionInfo = ( // I3331 // I36
(opt: koReleaseShiftKeysAfterKeyPress; RegistryName: SRegValue_ReleaseShiftKeysAfterKeyPress; OptionType: kotBool; BoolValue: False; GroupName: 'kogOSK'),
(opt: koAutoOpenOSK; RegistryName: SRegValue_AutoOpenOSK; OptionType: kotBool; BoolValue: True; GroupName: 'kogOSK'),
(opt: koAutoSwitchOSKPages; RegistryName: SRegValue_AutoSwitchOSKPages; OptionType: kotBool; BoolValue: True; GroupName: 'kogOSK'),
// Startup options
@ -192,14 +190,6 @@ begin
o.FEnabled := True;
if (KeymanOptionInfo[i].opt = koSwitchLanguageForAllApplications) and
not (GetOs in [osVista, osWin7]) then
begin
o.FEnabled := False; // I4271
o.FBoolValue := False; // I4515
o.FDefaultBoolValue := False; // I4515
end;
o.FGroup := KeymanOptionInfo[i].GroupName;
FOptions.Add(o);

View file

@ -17,11 +17,9 @@ type
koShowStartup,
// Windows options
koDebugging,
koSwitchLanguageForAllApplications, // I1089
koDeadkeyConversion, // I4552
// On Screen Keyboard Options
koAutoOpenOSK, // I1288
koAutoSwitchOSKPages, // I1375
koUseTouchLayout,
koBaseLayout,
koAutomaticallyReportErrors,