mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-06 08:55:34 +00:00
Check updates meaning has slightly changed it is now automatic updates and it will now check, download and when possible start the install. Previously it just meant a check for upates was made and notified the user of updates. Fixes:#13114
441 lines
24 KiB
ObjectPascal
441 lines
24 KiB
ObjectPascal
(*
|
||
Name: RegistryKeys
|
||
Copyright: Copyright (C) SIL International.
|
||
Documentation:
|
||
Description:
|
||
Create Date: 20 Jun 2006
|
||
|
||
Modified Date: 24 Aug 2015
|
||
Authors: mcdurdin
|
||
Related Files:
|
||
Dependencies:
|
||
|
||
Bugs:
|
||
Todo:
|
||
Notes:
|
||
History: 20 Jun 2006 - mcdurdin - Initial version
|
||
01 Aug 2006 - mcdurdin - Add KeymanHotkeys, ProductInstallDir, Tike->IDE
|
||
14 Sep 2006 - mcdurdin - Add SRegKey_KeymanOSK, SRegKey_KeymanOSK_CharMap, SRegValue_OSK_*, SRegKey_CRM_*
|
||
06 Oct 2006 - mcdurdin - Add SRegValue_ConfigurationState
|
||
04 Jan 2007 - mcdurdin - Add proxy support
|
||
22 Jan 2007 - mcdurdin - Add saved licence number and export bmp pixel width entries
|
||
25 Jan 2007 - mcdurdin - Add layout display name
|
||
16 May 2007 - mcdurdin - I819 - Add test keyman functioning
|
||
30 May 2007 - mcdurdin - I765 - Add support for releasing modifiers after key press
|
||
30 May 2007 - mcdurdin - I817 - Restart installer if windows restarted during installation
|
||
23 Aug 2007 - mcdurdin - I927 - Add external editor
|
||
05 Nov 2007 - mcdurdin - I1087 - Language hotkeys for Pro
|
||
27 Mar 2008 - mcdurdin - I1288 - Add SRegValue_AutoOpenOSK
|
||
27 Mar 2008 - mcdurdin - I1375 - Add SRegValue_AutoSwtichOSKPages
|
||
27 Mar 2008 - mcdurdin - I1287 - Add SRegValue_SwitchLanguageWithKeyboard
|
||
27 Mar 2008 - mcdurdin - I1248 - Add SRegValue_EnableHints, SRegKey_Hints
|
||
27 Mar 2008 - mcdurdin - I1220 - Add SRegKey_LanguageGroups
|
||
27 Jan 2009 - mcdurdin - I1817 - Keyman Uniscribe Manager integration
|
||
09 Mar 2009 - mcdurdin - I1878 - Reset evaluations when installing a new release
|
||
23 Apr 2009 - mcdurdin - I1940 - Add MiniDump Diag key
|
||
25 May 2010 - mcdurdin - I1632 - Keyboard Options
|
||
25 May 2010 - mcdurdin - I2392 - Activation Client integration
|
||
22 Oct 2010 - mcdurdin - I2522 - Language Switch Hotkey window
|
||
10 Dec 2010 - mcdurdin - I2555 - transparency bugs in Remote Desktop
|
||
28 Feb 2011 - mcdurdin - I2720 - Prevent Keyman splash from showing multiple copies
|
||
28 Feb 2011 - mcdurdin - I1729 - Keyboards in uninstall feedback
|
||
18 Mar 2011 - mcdurdin - I2807 - Support for disabling addins
|
||
26 Jun 2012 - mcdurdin - I3379 - KM9 - Remove old Winapi references now in Delphi libraries
|
||
26 Jun 2012 - mcdurdin - I3377 - KM9 - Update code references from 8.0 to 9.0
|
||
20 Nov 2012 - mcdurdin - I3581 - V9.0 - KMTip needs to pass activated profile guid through to Keyman32 to switch keyboards
|
||
01 Dec 2012 - mcdurdin - I3613 - V9.0 - System shadow keyboards obsolete, strip out remaining code
|
||
10 Jan 2014 - mcdurdin - I4021 - V9.0 - Redesign Keyboard Wizard to integrate V9 features
|
||
16 Apr 2014 - mcdurdin - I4169 - V9.0 - Mnemonic layouts should be recompiled to positional based on user-selected base keyboard
|
||
28 May 2014 - mcdurdin - I4220 - V9.0 - Remove references to LoadKeyboardLayout, Preload, Substitutes, etc. and use only TSF
|
||
03 Jun 2014 - mcdurdin - I4248 - V9.0 - Refactor of kmtip
|
||
10 Oct 2014 - mcdurdin - I4436 - V9.0 - browser emulation control for kmshell breaks downlevel versions of Keyman
|
||
04 Nov 2014 - mcdurdin - I4506 - V9.0 - Add command to send email with targets
|
||
31 Dec 2014 - mcdurdin - I4553 - V9.0 - Upgrade to 476 or later requires recompile of all mnemonic layouts
|
||
06 Feb 2015 - mcdurdin - I4552 - V9.0 - Add mnemonic recompile option to ignore deadkeys
|
||
15 Apr 2015 - mcdurdin - I4658 - V9.0 - Add Keep in Touch screen
|
||
22 Jun 2015 - mcdurdin - I4751 - Add "open in code view" default option for keyboards
|
||
24 Jul 2015 - mcdurdin - I4796 - Refresh Keyman Developer look and feel for release
|
||
24 Aug 2015 - mcdurdin - I4873 - Branding editor needs smoother interactions with test window
|
||
*)
|
||
unit RegistryKeys; // I4248
|
||
|
||
interface
|
||
|
||
uses
|
||
KeymanVersion;
|
||
|
||
const
|
||
|
||
// DO NOT LOCALISE ANYTHING IN THIS FILE
|
||
|
||
{-------------------------------------------------------------------------------
|
||
- Keyman keys and values -
|
||
------------------------------------------------------------------------------}
|
||
|
||
{ Keyman keys }
|
||
|
||
{$IFDEF WIN64}
|
||
SRegKey_Software_LM = 'Software\WOW6432Node'; // LM
|
||
{$ELSE}
|
||
SRegKey_Software_LM = 'Software'; // LM
|
||
{$ENDIF}
|
||
SRegKey_Software_CU = 'Software'; // CU
|
||
SRegKey_KeymanRoot_LM = SRegKey_Software_LM + '\Keyman'; // LM
|
||
SRegKey_KeymanRoot_CU = SRegKey_Software_CU + '\Keyman'; // CU
|
||
SRegKey_KeymanEngineRoot_LM = SRegKey_KeymanRoot_LM + '\Keyman Engine'; // LM
|
||
SRegKey_KeymanEngineRoot_CU = SRegKey_KeymanRoot_CU + '\Keyman Engine'; // CU
|
||
|
||
SRegKey_SoftwareKeyman_LM = SRegKey_KeymanRoot_LM;
|
||
SRegKey_SoftwareKeyman_CU = SRegKey_KeymanRoot_CU;
|
||
|
||
{ Keyman base key and values }
|
||
|
||
SRegKey_KeymanEngine_LM = SRegKey_KeymanEngineRoot_LM; // LM
|
||
SRegKey_KeymanEngine_CU = SRegKey_KeymanEngineRoot_CU; // CU
|
||
SRegKey_KeymanEngineDiag_CU = SRegKey_KeymanEngine_CU + '\Diag'; // CU
|
||
|
||
SregKey_KeymanHotkeys_CU = SRegKey_KeymanEngine_CU + '\hotkeys';
|
||
|
||
SRegValue_RootKeyboardAdminPath = 'root keyboard admin path'; // LM
|
||
SRegValue_RootKeyboardUserPath = 'root keyboard user path'; // CU
|
||
|
||
SRegValue_MnemonicLayoutVersion = 'mnemonic layout version'; // LM DWord // I4553
|
||
|
||
SRegValue_Engine_OEMProductPath = 'oem product path';
|
||
|
||
SRegValue_Legacy_Default_UnknownLayoutID = '000005FE'; // I4220
|
||
|
||
SRegValue_KeymanDebug = 'debug'; // CU
|
||
|
||
SRegValue_DefaultCustomisation = 'default customisation'; // LM
|
||
|
||
SRegValue_ShowStartup = 'show startup'; // CU
|
||
SRegValue_ShowWelcome = 'show welcome'; // CU
|
||
SRegValue_UseAdvancedInstall = 'use advanced install'; // CU
|
||
|
||
SRegValue_AltGrCtrlAlt = 'simulate altgr'; // CU
|
||
SRegValue_KeyboardHotKeysAreToggle = 'hotkeys are toggles'; // CU
|
||
SRegValue_AllowRightModifierHotKey = 'allow right modifier for hotkey'; // CU
|
||
SRegValue_ReleaseShiftKeysAfterKeyPress = 'release shift keys after key press'; // CU
|
||
SRegValue_TestKeymanFunctioning = 'test keyman functioning'; // CU, default true
|
||
|
||
SRegValue_CreateStartMenuAsSubfolders = 'create start menu as subfolders'; // CU
|
||
SRegValue_CreateUninstallEntries = 'create uninstall entries'; // CU
|
||
|
||
SRegValue_ProxyServer = 'proxy server';
|
||
SRegValue_ProxyPort = 'proxy port';
|
||
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
|
||
|
||
{ On Screen Keyboard Settings }
|
||
|
||
SRegKey_KeymanOSK_CU = SRegKey_KeymanEngine_CU + '\On Screen Keyboard';
|
||
SRegKey_KeymanOSK_CharMap_CU = SRegKey_KeymanOSK_CU + '\Character Map';
|
||
|
||
SRegValue_OSK_ShowVisualKeyboard = 'show visual keyboard'; // CU
|
||
SRegValue_OSK_FadeVisualKeyboard = 'fade visual keyboard'; // CU
|
||
SRegValue_OSK_ActivePage = 'active page'; // CU
|
||
SRegValue_OSK_Position = 'position'; // CU
|
||
SRegValue_OSK_ShowToolBar = 'show toolbar'; // CU
|
||
|
||
//SRegValue_VisualKeyboardKeyCap = 'visual keyboard key cap'; // CU
|
||
|
||
SRegValue_ConfigurationState = 'configuration state'; // CU
|
||
|
||
SRegKey_KeymanRegisteredWindows_CU = SRegKey_KeymanRoot_CU+'\Window References'; // CU // I2720
|
||
|
||
{ Hint Settings - CU }
|
||
|
||
SRegValue_EnableHints = 'enable hints';
|
||
SRegSubKey_Hints = 'hints';
|
||
|
||
{ Keyman for Windows }
|
||
|
||
SRegKey_KeymanDesktopRoot_CU = SRegKey_KeymanRoot_CU + '\Keyman Desktop'; // leaving as Keyman Desktop for compatibility
|
||
SRegKey_KeymanDesktopRoot_LM = SRegKey_KeymanRoot_LM + '\Keyman Desktop'; // leaving as Keyman Desktop for compatibility
|
||
SRegKey_KeymanDesktop_CU = SRegKey_KeymanDesktopRoot_CU;
|
||
SRegKey_KeymanDesktop_LM = SRegKey_KeymanDesktopRoot_LM;
|
||
|
||
{ Other Keyman Settings }
|
||
|
||
SRegValue_DeadkeyConversionMode = 'deadkey conversion mode'; // CU // I4552
|
||
SRegValue_UnderlyingLayout = 'underlying layout'; // CU
|
||
|
||
SRegKey_KeyboardLayoutToggle = 'keyboard layout\toggle'; // CU // I2522
|
||
SRegValue_Toggle_Hotkey = 'Hotkey';
|
||
SRegValue_Toggle_LanguageHotkey = 'Language Hotkey';
|
||
SRegValue_Toggle_LayoutHotkey = 'Layout Hotkey';
|
||
|
||
SRegValue_CharMapSourceData = 'charmap source data'; // LM
|
||
|
||
SRegValue_AvailableLanguages = 'available languages'; // CU
|
||
SRegValue_CurrentLanguage = 'current language'; // CU
|
||
|
||
SRegValue_Update_State = 'update state'; // CU
|
||
|
||
{ Privacy }
|
||
|
||
SRegValue_AutomaticallyReportErrors = 'automatically report errors'; // CU, SRegKey_IDEOptions and SRegKey_KeymanEngine_CU
|
||
SRegValue_AutomaticallyReportUsage = 'automatically report usage'; // CU, SRegKey_IDEOptions and SRegKey_KeymanEngine_CU
|
||
|
||
{ ActiveKeyboards }
|
||
|
||
SRegKey_ActiveKeyboards_CU = SRegKey_KeymanEngine_CU + '\Active Keyboards'; // CU
|
||
|
||
SRegSubKey_KeyboardOptions = 'Options'; // CU\ActiveKeyboards\<id>\Options
|
||
SRegSubKey_KeyboardLanguages = 'Languages'; //CU\ActiveKeyboards\<id>\Disabled Languages
|
||
|
||
SRegValue_KeymanID = 'keyman id'; // CU
|
||
SRegValue_Legacy_KeymanInstalledLanguage = 'keyman installed language'; // CU // I4220
|
||
|
||
SRegSubKey_SharedOptions = 'shared'; // CU
|
||
|
||
{ ActiveLanguages }
|
||
|
||
SRegKey_ActiveLanguages_CU = SRegKey_KeymanEngine_CU + '\Active Languages'; // CU
|
||
SRegKey_LanguageHotkeys_CU = SRegKey_KeymanEngine_CU + '\Language Hotkeys'; // CU
|
||
|
||
{ InstalledKeyboards }
|
||
|
||
SRegKey_InstalledKeyboards_LM = SRegKey_KeymanEngine_LM + '\Installed Keyboards'; // LM
|
||
SRegKey_InstalledKeyboards_CU = SRegKey_KeymanEngine_CU + '\Installed Keyboards'; // CU
|
||
|
||
SRegValue_KeymanFile_MnemonicOverride = 'keyman file mnemonic override'; // LM // I4169
|
||
SRegValue_KeymanFile_MnemonicOverride_Deadkey = 'keyman file mnemonic override deadkey'; // LM // I4552
|
||
SRegValue_KeymanFile = 'keyman file'; // LM CU
|
||
SRegValue_Legacy_KeymanKeyboardID = 'keyman keyboard id'; // LM CU // I3613
|
||
SRegValue_PackageName = 'package name'; // LM CU
|
||
SRegValue_Legacy_DefaultLanguageID = 'default language id'; // LM CU // I4220
|
||
SRegValue_VisualKeyboard = 'visual keyboard'; // LM CU
|
||
|
||
SRegSubKey_SuggestedLanguages = 'Suggested Languages'; // LM
|
||
|
||
{ Language Profiles }
|
||
|
||
{$MESSAGE HINT 'Refactor this to use SRegKeyNode naming (no prefix \); fixup references'}
|
||
SRegSubKey_LanguageProfiles = { SRegKey_InstalledKeyboards + '\<keyboard>' } '\Language Profiles'; // LM
|
||
SRegSubKey_TransientLanguageProfiles = { SRegKey_InstalledKeyboards + '\<keyboard>' } '\Transient Language Profiles'; // LM
|
||
SRegValue_LanguageProfileLangID = 'LangID'; // LM SRegSubKey_LanguageProfiles
|
||
SRegValue_LanguageProfileLocale = 'Locale'; // LM SRegSubKey_LanguageProfiles
|
||
SRegValue_LanguageProfileName = 'Name'; // LM SRegSubKey_LanguageProfiles
|
||
SRegValue_KeymanProfileGUID = 'profile guid'; // LM SRegSubKey_LanguageProfiles, SRegSubKey_TransientLanguageProfiles
|
||
|
||
SRegKey_Keyman_Temp_BackupProfiles = SRegKey_KeymanEngine_CU + '\Temp Backup Profiles'; // CU
|
||
|
||
{ InstalledPackages }
|
||
|
||
SRegKey_InstalledPackages_LM = SRegKey_KeymanEngine_LM + '\Installed Packages'; // LM
|
||
SRegKey_InstalledPackages_CU = SRegKey_KeymanEngine_CU + '\Installed Packages'; // CU
|
||
|
||
SRegValue_PackageDescription = 'package description'; // LM CU
|
||
SRegValue_PackageFile = 'package inf file'; // LM CU
|
||
|
||
{ Latin keyboard cache }
|
||
|
||
SRegKey_LatinKeyboardCache_LM = SRegKey_KeymanEngine_LM + '\Latin Keyboard Cache'; // LM // I4169
|
||
|
||
{ System KeyboardLayouts }
|
||
|
||
SRegKey_KeyboardLayouts_LM = 'System\CurrentControlSet\Control\keyboard layouts'; // LM
|
||
|
||
SRegValue_LayoutDisplayName = 'layout display name'; // LM
|
||
SRegValue_KeyboardLayoutText = 'layout text'; // LM
|
||
SRegValue_KeyboardLayoutFile = 'layout file'; // LM
|
||
SRegValue_KeyboardLayoutID = 'layout id'; // LM
|
||
SRegValue_Legacy_KeyboardKeymanInstall = 'keyman install'; // LM // I3613
|
||
SRegValue_Legacy_KeyboardKeymanOriginalLayoutText = 'keyman original layout text'; // LM // I3613
|
||
SRegValue_Legacy_KeyboardKeymanOriginalLayoutFile = 'keyman original layout file'; // LM // I3613
|
||
SRegValue_Legacy_KeyboardKeymanOriginalLayoutID = 'keyman original layout id'; // LM // I3613
|
||
SRegValue_Legacy_KeyboardKeymanName = 'keyman name'; // LM // I3613
|
||
|
||
{ User-installed keyboards/languages }
|
||
|
||
SRegKey_KeyboardLayout_CU = 'keyboard layout'; // CU
|
||
SRegKey_KeyboardLayoutPreload_CU = 'keyboard layout\preload'; // CU
|
||
SRegKey_KeyboardLayoutSubstitutes_CU = 'keyboard layout\substitutes'; // CU
|
||
|
||
SRegKey_ControlPanelInternationalUserProfile = 'Control Panel\International\User Profile'; // CU
|
||
|
||
SRegValue_CPIUP_Languages = 'Languages';
|
||
SRegValue_CPIUP_TransientLangId = 'TransientLangId';
|
||
SRegValue_CPIUP_CachedLanguageName = 'CachedLanguageName';
|
||
SRegValue_CPIUP_InputMethodOverride = 'InputMethodOverride';
|
||
|
||
{ Font keys }
|
||
|
||
SRegKey_FontList_LM = 'Software\Microsoft\Windows\CurrentVersion\Fonts'; // LM
|
||
SRegKey_NTFontList_LM = 'Software\Microsoft\Windows NT\CurrentVersion\Fonts'; // LM
|
||
|
||
{ Run with Windows keys }
|
||
|
||
SRegKey_WindowsRun_CU = 'Software\Microsoft\Windows\CurrentVersion\Run'; // CU, LM
|
||
SRegKey_WindowsRun_LM = 'Software\Microsoft\Windows\CurrentVersion\Run'; // CU, LM
|
||
SRegKey_WindowsRun_Wow64_LM = 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run'; // CU, LM
|
||
SRegKey_WindowsRunOnce_CU = 'Software\Microsoft\Windows\CurrentVersion\RunOnce'; // CU, LM
|
||
SRegKey_WindowsRunOnce_LM = 'Software\Microsoft\Windows\CurrentVersion\RunOnce'; // CU, LM
|
||
SRegKey_WindowsRunOnce_Wow64_LM = 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce'; // CU, LM
|
||
|
||
SRegValue_WindowsRunOnce_Setup = 'keyman-setup.exe'; // CU
|
||
|
||
SRegValue_WindowsRun_Keyman = 'Keyman';
|
||
|
||
SRegValue_LanguageCheckDisabledItems = 'language check disabled items'; // CU
|
||
|
||
{-------------------------------------------------------------------------------
|
||
- Keyman Developer keys and values -
|
||
------------------------------------------------------------------------------}
|
||
|
||
{ Keyman Developer Keys }
|
||
|
||
SRegKey_KeymanDeveloperRoot_CU = SRegKey_KeymanRoot_CU + '\Keyman Developer'; // LM CU
|
||
SRegKey_KeymanDeveloper_CU = SRegKey_KeymanDeveloperRoot_CU; // LM CU
|
||
|
||
SRegKey_KeymanDeveloperRoot_LM = SRegKey_KeymanRoot_LM + '\Keyman Developer'; // LM CU
|
||
SRegKey_KeymanDeveloper_LM = SRegKey_KeymanDeveloperRoot_LM; // LM CU
|
||
|
||
SRegKey_IDE_CU = SRegKey_KeymanDeveloper_CU + '\IDE'; // CU
|
||
SRegKey_IDEDock_CU = SRegKey_IDE_CU + '\Dock'; // CU
|
||
SRegKey_IDEFiles_CU = SRegKey_IDE_CU + '\Files'; // CU
|
||
SRegKey_IDECharacterMap_CU = SRegKey_IDE_CU + '\Character Map'; // CU
|
||
SRegKey_IDEColours_CU = SRegKey_IDE_CU + '\Colours'; // CU
|
||
SRegKey_IDEEditFonts_CU = SRegKey_IDE_CU + '\EditFonts'; // CU
|
||
SRegKey_IDETestFonts_CU = SRegKey_IDE_CU + '\TestFonts'; // CU
|
||
SRegKey_IDEVisualKeyboard_CU = SRegKey_IDE_CU + '\VisualKeyboard'; // CU
|
||
SRegKey_IDEToolbars_CU = SRegKey_IDE_CU + '\Toolbars'; // CU
|
||
|
||
SRegKey_IDEActiveProjects_CU = SRegKey_IDE_CU + '\Active Projects'; // CU
|
||
SRegValue_ActiveProject_Filename = 'project filename';
|
||
SRegValue_ActiveProject_SourcePath = 'source path';
|
||
|
||
SRegValue_CheckForUpdates = 'check for updates'; // CU
|
||
SRegValue_LastUpdateCheckTime = 'last update check time'; // CU
|
||
SRegValue_ApplyNow = 'apply now'; // CU Start the install now even though it will require an restart
|
||
|
||
SRegValue_UpdateCheck_UseProxy = 'update check use proxy'; // CU
|
||
SRegValue_UpdateCheck_ProxyHost = 'update check proxy host'; // CU
|
||
SRegValue_UpdateCheck_ProxyPort = 'update check proxy port'; // CU
|
||
|
||
SRegValue_KeepInTouchShown = 'keep in touch shown'; // CU. bool // I4658
|
||
|
||
SRegValue_OnlineLogin = 'online login';
|
||
|
||
{ SRegKey_CRM values }
|
||
|
||
SRegValue_CRM_FileName = 'filename'; // CU
|
||
SRegValue_CRM_ActivePage = 'active page'; // CU
|
||
SRegValue_CRM_ProductColumns = 'product grid'; // CU
|
||
SRegValue_CRM_CustomerColumns = 'customer grid'; // CU
|
||
SRegValue_CRM_PurchaseColumns = 'purchase grid'; // CU
|
||
|
||
{ SRegKey_KeymanDeveloper values }
|
||
|
||
SRegValue_Evaluation = 'evaluation'; // CU
|
||
SRegValue_ActiveProject = 'active project'; // CU
|
||
|
||
{ SRegKey_IDE values }
|
||
|
||
SRegValue_IDECharacterMap_CellSize = 'cell size'; // CU [int]
|
||
SRegValue_IDECharacterMap_Filter = 'filter'; // CU [str]
|
||
SRegValue_IDECharacterMap_Font = 'font'; // CU [str]
|
||
SRegValue_IDECharacterMap_Quality = 'quality'; // CU [int]
|
||
SRegValue_IDECharacterMap_InsertMode = 'insert mode'; // CU [int]
|
||
SRegValue_IDECharacterMap_Character = 'character'; // CU [int]
|
||
|
||
SRegValue_IDEMRU = 'MRU'; // CU
|
||
SRegValue_CharMapSize = 'char map size'; // CU
|
||
|
||
{ SRegKey_IDEVisualKeyboard values }
|
||
|
||
SRegValue_IDEVKbd_ExportBMPMulti = 'export bmp multi'; // CU
|
||
SRegValue_IDEVKbd_ExportBMPANSI = 'export bmp ansi'; // CU
|
||
SRegValue_IDEVKbd_ExportBMPUnicode = 'export bmp unicode'; // CU
|
||
SRegValue_IDEVKbd_ExportBMPPixelWidth = 'export bmp pixel width'; // CU
|
||
|
||
{-------------------------------------------------------------------------------
|
||
- Shared keys and values -
|
||
------------------------------------------------------------------------------}
|
||
|
||
{ SRegKey_Keyman and SRegKey_KeymanDeveloper values -- SHARED }
|
||
|
||
SRegValue_RootPath = 'root path'; // LM
|
||
SRegValue_RegistrationKey = 'registration key'; // LM
|
||
|
||
{ Uninstall feedback keyboard list }
|
||
|
||
SRegKey_UninstallBackupKeyboards_CU = 'Software\KeymanDesktop_UninstallKeyboards'; // CU // I1729
|
||
|
||
{ Debugging keys and values }
|
||
|
||
SRegKey_KeymanDebug_CU = SRegKey_KeymanRoot_CU + '\Debug';
|
||
SRegValue_Debug_TikeDebugMode = 'TikeDebugMode';
|
||
|
||
SRegKey_Keyman_Exception_CU = SRegKey_KeymanRoot_CU + '\Exception';
|
||
SRegValue_SymbolPath = 'SymbolPath';
|
||
|
||
{ Debug Flags - Reg_GetDebugFlag in DebugPaths.pas }
|
||
|
||
SRegKey_KeymanEngineDebug_CU = SRegKey_KeymanEngineRoot_CU + '\Debug';
|
||
|
||
SRegValue_Flag_ShouldSerializeInput = 'Flag_ShouldSerializeInput';
|
||
SRegValue_Flag_UseAutoStartTask = 'Flag_UseAutoStartTask';
|
||
SRegValue_Flag_SyncLanguagesToCloud = 'Flag_SyncLanguagesToCloud';
|
||
|
||
SRegValue_Flag_UseKeymanCore = 'Flag_UseKeymanCore';
|
||
|
||
// Fixed path names
|
||
const
|
||
// PF = CSIDL_PROGRAM_FILES
|
||
// PFC = CSIDL_PROGRAM_FILES_COMMON
|
||
// AD = CSIDL_APPDATA
|
||
// CAD = CSIDL_COMMON_APPDATA
|
||
|
||
SFolderKeymanRoot = 'Keyman';
|
||
SFolderKeymanEngine = SFolderKeymanRoot + '\Keyman Engine';
|
||
SFolderKeymanKeyboard = SFolderKeymanEngine + '\Keyboard';
|
||
SFolderCEFBrowserData = SFolderKeymanEngine + '\CEF';
|
||
SFolderShared = SFolderKeymanRoot + '\Shared Data';
|
||
SFolderSharedDatabases = SFolderShared + '\Databases';
|
||
SFolderKeymanDeveloper = SFolderKeymanRoot + '\Keyman Developer';
|
||
SFolderKeymanDeveloperTemplates = SFolderKeymanDeveloper + '\Templates';
|
||
SFolderRegressionTests = SFolderKeymanDeveloper + '\Regression Tests';
|
||
|
||
SFolder_CachedInstallerFiles = SFolderKeymanRoot + '\Cached Installer Files';
|
||
|
||
SFolderKeymanEngineDiag = SFolderKeymanRoot + '\Diag';
|
||
|
||
function BuildKeyboardOptionKey_CU(const KeyboardID: string): string;
|
||
function BuildKeyboardLanguageProfilesKey_LM(const KeyboardID: string): string;
|
||
function BuildKeyboardSuggestedLanguagesKey_LM(const KeyboardID: string): string;
|
||
function BuildKeyboardLanguagesKey_CU(const KeyboardID: string): string;
|
||
|
||
implementation
|
||
|
||
function BuildKeyboardOptionKey_CU(const KeyboardID: string): string;
|
||
begin
|
||
Result := SRegKey_ActiveKeyboards_CU + '\' + KeyboardID + '\' + SRegSubKey_KeyboardOptions;
|
||
end;
|
||
|
||
function BuildKeyboardLanguageProfilesKey_LM(const KeyboardID: string): string;
|
||
begin
|
||
Result := SRegKey_InstalledKeyboards_LM + '\' + KeyboardID + SRegSubKey_LanguageProfiles;
|
||
end;
|
||
|
||
function BuildKeyboardSuggestedLanguagesKey_LM(const KeyboardID: string): string;
|
||
begin
|
||
Result := SRegKey_InstalledKeyboards_LM + '\' + KeyboardID + '\' + SRegSubKey_SuggestedLanguages;
|
||
end;
|
||
|
||
function BuildKeyboardLanguagesKey_CU(const KeyboardID: string): string;
|
||
begin
|
||
Result := SRegKey_ActiveKeyboards_CU + '\' + KeyboardID + '\' + SRegSubKey_KeyboardLanguages;
|
||
end;
|
||
|
||
end.
|
||
|