Input configuration synchronization method, device, equipment and product
By obtaining and matching input configuration information on a remote application server, the input method synchronization was achieved, the input adaptation problem was solved, the operation and maintenance cost was reduced, and the user experience was improved.
Patent Information
- Application Number
- CN202511116931.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-08
- Publication Date
- 2025-11-11
AI Technical Summary
In existing technologies, input method adaptation issues in remote applications lead to inconsistent user experiences and high maintenance costs for administrators.
By obtaining the input configuration information of the remote application client, the server can match and activate or install the corresponding input configuration items based on the input configuration type information to achieve input mode synchronization.
It reduced the administrator's maintenance costs, solved the problem of adapting to multiple input methods, and improved the user experience.
Smart Images

Figure CN120928962A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of remote control, and in particular to input configuration synchronization methods, apparatus, devices and products. Background Technology
[0002] With the development of internet technology, mobile office work via RAPP (RemoteApp) technology has become a basic requirement for more and more office workers. RAPP technology has many advantages that traditional CS (Client-Server) deployment methods do not have, such as more secure data transmission, less network bandwidth consumption, and simpler deployment and maintenance. However, there are still various input method compatibility issues, resulting in inconsistencies with local input and affecting user experience. Summary of the Invention
[0003] In view of this, the purpose of this application is to provide an input configuration synchronization method, device, equipment, and product that can solve the problem of adapting to multiple input methods and improve user experience while reducing administrator maintenance costs. The specific solution is as follows:
[0004] Firstly, this application provides an input configuration synchronization method, applied to a remote application server, comprising:
[0005] Obtain input configuration information sent by the remote application client;
[0006] Based on the input configuration type information carried in the input configuration information, the target input configuration matching identifier is read from the input configuration information;
[0007] The input configuration items on the remote application server are matched based on the target input configuration matching identifier;
[0008] If a target input configuration item corresponding to the target input configuration matching identifier is matched, the target input configuration item is activated on the remote application server.
[0009] If no target input configuration item corresponding to the target input configuration matching identifier is found, the corresponding input configuration item is installed and activated on the remote application server according to a preset strategy.
[0010] Optionally, the target input configuration matching identifier is read from the input configuration information based on the input configuration type information carried in the input configuration information, including:
[0011] If the input configuration type information carried in the input configuration information is an input method configuration type, then the language identifier, text service unique identifier, and configuration item unique identifier are read from the input configuration information.
[0012] Accordingly, matching the input configuration items on the remote application server based on the target input configuration matching identifier includes:
[0013] Matching is performed based on input configuration type information, language identifier, unique text service identifier, and unique configuration item identifier;
[0014] If no target input configuration item is found that corresponds to the input configuration type information, language identifier, text service unique identifier, and configuration item unique identifier, then matching is performed based on the input configuration type information and language identifier.
[0015] If no target input configuration item corresponding to the input configuration type information and language identifier is found, it is determined that no target input configuration item corresponding to the target input configuration matching identifier is found.
[0016] Optionally, the target input configuration matching identifier is read from the input configuration information based on the input configuration type information carried in the input configuration information, including:
[0017] If the input configuration type information carried in the input configuration information is a keyboard configuration type, then the keyboard layout handle is read from the input configuration information;
[0018] Accordingly, matching the input configuration items on the remote application server based on the target input configuration matching identifier includes:
[0019] The input configuration items on the remote application server are matched based on the input configuration type information and keyboard layout handle.
[0020] Optionally, if no target input configuration item corresponding to the target input configuration matching identifier is found, the corresponding input configuration item is installed and activated on the remote application server according to a preset strategy, including:
[0021] If no matching input configuration type information or target input configuration item corresponding to the keyboard layout handle is found, the corresponding input configuration item is installed and activated based on the parameters for keyboard installation and loading carried in the input configuration information.
[0022] Optional, also includes:
[0023] If the input configuration item of the keyboard configuration type is not successfully installed based on the parameters used for keyboard installation and loading and the preset conditions are met, then the language identifier is extracted from the parameters used for keyboard installation and loading, and the input configuration item of the input method configuration type is matched based on the language identifier.
[0024] If an input configuration item corresponding to the input method configuration type of the language identifier is matched, then the input configuration item is activated.
[0025] Optional, also includes:
[0026] In response to a preset key combination, the input method corresponding to the remote application client is switched, wherein the remote application client is prohibited from responding to the preset key combination.
[0027] Optionally, the input configuration information is the input configuration information sent by the remote application client when it detects that the preset input configuration change conditions are met.
[0028] Secondly, this application provides an input configuration synchronization method for use in remote application clients, comprising:
[0029] Monitor changes to input configuration;
[0030] When the input configuration change meets the preset input configuration change conditions, input configuration information is sent to the remote application server. The input configuration information carries input configuration type information and a target input configuration matching identifier corresponding to the input configuration type information. The target input configuration matching identifier is used to match the input configuration items on the remote application server. If a target input configuration item corresponding to the target input configuration matching identifier is matched, the target input configuration item is activated on the remote application server. If no target input configuration item corresponding to the target input configuration matching identifier is matched, the corresponding input configuration item is installed and activated on the remote application server according to a preset strategy.
[0031] Thirdly, this application provides an apparatus for use on a remote application server, comprising:
[0032] The input configuration information acquisition module is used to acquire input configuration information sent by remote application clients;
[0033] The input configuration matching identifier reading module is used to read the target input configuration matching identifier from the input configuration information based on the input configuration type information carried in the input configuration information;
[0034] The input configuration matching module is used to match the input configuration items on the remote application server based on the target input configuration matching identifier;
[0035] The input configuration installation and activation module is used to activate the target input configuration item on the remote application server when a target input configuration item corresponding to the target input configuration matching identifier is matched; and to install and activate the corresponding input configuration item on the remote application server according to a preset strategy when no target input configuration item corresponding to the target input configuration matching identifier is matched.
[0036] Fourthly, this application provides an apparatus for use in a remote application client, comprising:
[0037] The configuration change monitoring module is used to monitor changes to the input configuration.
[0038] The configuration information sending module is used to send input configuration information to a remote application server when the input configuration change meets preset input configuration change conditions. The input configuration information carries input configuration type information and a target input configuration matching identifier corresponding to the input configuration type information. The target input configuration matching identifier is used to match the input configuration items on the remote application server. If a target input configuration item corresponding to the target input configuration matching identifier is matched, the target input configuration item is activated on the remote application server. If no target input configuration item corresponding to the target input configuration matching identifier is matched, the corresponding input configuration item is installed and activated on the remote application server according to a preset strategy.
[0039] Fifthly, this application provides a service device, including a memory and a processor, wherein:
[0040] The memory is used to store computer programs;
[0041] The processor is used to execute the computer program to implement the aforementioned input configuration synchronization method.
[0042] Sixthly, this application provides a terminal device, including a memory and a processor, wherein:
[0043] The memory is used to store computer programs;
[0044] The processor is used to execute the computer program to implement the aforementioned input configuration synchronization method.
[0045] In a seventh aspect, this application provides a computer-readable storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the aforementioned input configuration synchronization method.
[0046] Eighthly, this application provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the aforementioned input configuration synchronization method.
[0047] As can be seen from the above scheme, this application provides an input configuration synchronization method, including: obtaining input configuration information sent by a remote application client; reading a target input configuration matching identifier from the input configuration information based on the input configuration type information carried in the input configuration information; matching input configuration items on the remote application server based on the target input configuration matching identifier; activating the target input configuration item on the remote application server when a target input configuration item corresponding to the target input configuration matching identifier is matched; and installing and activating the corresponding input configuration item on the remote application server according to a preset strategy when no target input configuration item corresponding to the target input configuration matching identifier is matched.
[0048] As can be seen, the beneficial effects of this application are as follows: It obtains input configuration information sent by the remote application client, retrieves the target input configuration matching identifier based on the input configuration type information, performs input configuration item matching locally on the server, activates the corresponding input configuration item if a match is successful, and installs and activates the corresponding input configuration item if a match is unsuccessful. This achieves synchronization of input methods between the remote application server and the remote application client, eliminating the need for administrators to pre-install corresponding input methods for each user on the remote application server. This solves the problem of adapting to multiple input methods while reducing administrator maintenance costs and improving user experience.
[0049] Correspondingly, the input configuration synchronization device, equipment, readable storage medium, and product provided in this application also have the above-mentioned technical effects. Attached Figure Description
[0050] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0051] Figure 1 A flowchart of an input configuration synchronization method provided in an embodiment of this application;
[0052] Figure 2 A system architecture diagram of an application input configuration synchronization scheme provided in this application embodiment;
[0053] Figure 3 This application provides an input method configuration and activation flowchart.
[0054] Figure 4 A keyboard configuration activation flowchart is provided as an embodiment of this application;
[0055] Figure 5 Flowchart of another input configuration synchronization method provided in the embodiments of this application;
[0056] Figure 6 A schematic diagram of a device structure provided in an embodiment of this application;
[0057] Figure 7 This is a schematic diagram of another device structure provided in an embodiment of this application;
[0058] Figure 8 A structural diagram of a service device provided in an embodiment of this application;
[0059] Figure 9 This is a structural diagram of a terminal device provided in an embodiment of this application. Detailed Implementation
[0060] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0061] First, let me introduce the technical terms used in this application:
[0062] TSF: Text Services Framework, is a next-generation input method framework adopted by Microsoft Windows operating systems in Windows XP and later. TSF is a powerful framework suitable for applications requiring complex text processing and multilingual support. With TSF, developers can create smarter and more flexible text input experiences to meet the needs of modern users.
[0063] TF_INPUTPROCESSORPROFILE: This is a core data structure in the Windows Text Services Framework (TSF) used to describe input method configuration, covering information such as input method type, language identifier, and unique identifier for the configuration file. Its core functions include:
[0064] Input method configuration management: Identifies the configuration parameters of different input methods TF_PROFILETYPE_INPUTPROCESSOR (such as Chinese Pinyin input method, Japanese input method) or keyboard layouts TF_PROFILETYPE_KEYBOARDLAYOUT (such as US English keyboard, French keyboard).
[0065] Dynamic switching support: Activate or deactivate the specified input method configuration through the ITfInputProcessorProfileMgr interface to achieve seamless switching in a multilingual environment.
[0066] IME: Input Method Editor, generally referring to the input method component of an operating system. In Windows systems, it specifically refers to the older IMM-IME input method framework and its corresponding IME input method messages. Although newer operating systems generally use the latest TSF framework input method, the various IME input method messages received by applications are still retained by the TSF input method framework for compatibility and adaptation. Older IME input methods are displayed as a keyboard layout in the keyboard input method list.
[0067] See Figure 1 As shown in the figure, this application discloses an input configuration synchronization method, applied to a remote application server, including:
[0068] Step S11: Obtain the input configuration information sent by the remote application client.
[0069] The input configuration information is the input configuration information sent by the remote application client when it detects that the preset input configuration change conditions are met.
[0070] The remote application server can be a Windows server. Meeting the preset input configuration change conditions can include the remote application client receiving an input method change notification, and the remote application client actively detecting the input configuration change. The input method change notification is sent by the operating system: the `ITfInputProcessorProfileActivationSink::OnActivated` notification interface or the `WM_INPUTLANGCHANGE` message notification. The remote application client can actively detect the change when it regains focus. Input configuration information can include input configuration type information and the corresponding input configuration matching identifier. The input configuration information is real-time input configuration information.
[0071] Step S12: Read the target input configuration matching identifier from the input configuration information based on the input configuration type information carried in the input configuration information.
[0072] The input configuration type information can be either the input method configuration type or the keyboard configuration type, with different input configuration type information corresponding to different input configuration matching identifiers. The target input configuration matching identifier is the input matching identifier corresponding to the input configuration type information carried in the input configuration information.
[0073] Step S13: Match the input configuration items on the remote application server based on the target input configuration matching identifier.
[0074] This application embodiment can invoke the corresponding matching method based on the input configuration type information, and enumerate and match the input configuration items on the remote application server based on the target input configuration matching identifier. Input method configuration type or keyboard configuration type can each correspond to different matching methods.
[0075] In an optional implementation, if the input configuration type information carried in the input configuration information is an input method configuration type, then the language identifier, text service unique identifier, and configuration item unique identifier are read from the input configuration information; matching is performed based on the input configuration type information, language identifier, text service unique identifier, and configuration item unique identifier; if no target input configuration item corresponding to the input configuration type information, language identifier, text service unique identifier, and configuration item unique identifier is matched, then matching is performed based on the input configuration type information and language identifier; if no target input configuration item corresponding to the input configuration type information and language identifier is matched, then it is determined that no target input configuration item corresponding to the target input configuration matching identifier is matched.
[0076] In other words, the language identifier, text service unique identifier, and configuration item unique identifier are first used as target input configuration matching identifiers for matching. A complete input method match is then performed based on the input configuration type information, language identifier, text service unique identifier, and configuration item unique identifier. Input configuration items that match these three identifiers are then selected as target input configuration items. If no input configuration item matches these three identifiers, the language identifier is used as the target input configuration matching identifier for matching. Input method language matching is then performed based on the input configuration type information and language identifier. Input configuration items that match these three identifiers are then selected as target input configuration items. If no target input configuration item matches the input configuration type information and language identifier, it is determined that no target input configuration item corresponding to the target input configuration matching identifier has been matched.
[0077] In an optional implementation, if the input configuration type information carried in the input configuration information is a keyboard configuration type, then the keyboard layout handle is read from the input configuration information; and the input configuration items on the remote application server are matched based on the input configuration type information and the keyboard layout handle. That is, the keyboard layout handle of the keyboard type configuration item is used as the target input configuration matching identifier to perform keyboard matching with the input configuration items installed on the remote application server.
[0078] Step S14: If a target input configuration item corresponding to the target input configuration matching identifier is matched, activate the target input configuration item on the remote application server.
[0079] That is, the input method of the corresponding session on the remote application server is switched to the input method corresponding to the target input configuration item.
[0080] Step S15: If no target input configuration item corresponding to the target input configuration matching identifier is found, install and activate the corresponding input configuration item on the remote application server according to the preset strategy.
[0081] In an optional implementation, the corresponding input configuration items can be installed based on a pre-installed package. In another implementation, relevant programs can be extracted from the operating system and the corresponding input configuration items can be installed.
[0082] In an optional implementation, if no matching input configuration type information or target input configuration item corresponding to the keyboard layout handle is found, the corresponding input configuration item is installed and activated based on the parameters for keyboard installation and loading carried in the input configuration information.
[0083] In this embodiment, the input configuration information may also carry parameters for keyboard installation and loading, facilitating the installation of the corresponding keyboard type configuration items.
[0084] In an optional implementation, if the input configuration item of the keyboard configuration type fails to be installed based on the parameters used for keyboard installation and loading, but the preset conditions are met, then a language identifier is extracted from the parameters used for keyboard installation and loading, and the input configuration item of the input method configuration type is matched based on the language identifier; if an input configuration item of the input method configuration type corresponding to the language identifier is matched, then the input configuration item is activated. That is, matching is performed based on the input method configuration type and the language identifier.
[0085] The preset condition is that the parameters used for keyboard installation and loading do not exist in the server-side registry, and the highest byte of the parameters used for keyboard installation and loading is 0xE0. That is, the reason for keyboard installation failure can be determined first. If the reason for keyboard installation failure is that the parameters used for keyboard installation and loading do not exist in the server-side registry and the highest byte of the parameters used for keyboard installation and loading is 0xE0, then the language identifier is extracted from the parameters used for keyboard installation and loading. Based on this language identifier, input configuration items of the input method configuration type are matched. If an input configuration item corresponding to the language identifier is matched, then the input configuration item is activated. In other words, if no keyboard input type is matched, the process can switch from keyboard layout adaptation to input method language adaptation.
[0086] In this embodiment, if the input method enumeration match is successful, the input method is activated; if the input method enumeration match is unsuccessful, the preset input method of the specified language is installed using the language id parameter. If the keyboard enumeration match is successful, the keyboard is activated; if the keyboard enumeration match is unsuccessful, the preset keyboard of the specified operating system is attempted to be installed using klid (i.e., keyboard layout identifier, a parameter used for keyboard installation and loading). There is a special case where keyboard installation failure can be handled adaptively: if klid starts with 0xE0, it is an old IME input method. The language id is extracted from the klid parameter to overwrite the original input configuration information of the target input method. The original target configuration type information is overwritten as the input method, and the aforementioned server-side enumeration input method language matching process is repeated again using the input method language matching method.
[0087] Furthermore, in an optional implementation, the input method corresponding to the remote application client is switched in response to a preset key combination, wherein the remote application client is prohibited from responding to the preset key combination.
[0088] The preset key combination is the key combination for switching input methods. If the remote application client is prohibited from responding to the preset key combination, the corresponding input configuration synchronization process will not be triggered. This can prevent the remote application server from repeatedly switching input methods in a short period of time.
[0089] In other words, this application embodiment intercepts input method key combinations, detects key combination settings related to keyboard input method switching between the remote application system client and server, and intercepts the client response for the corresponding key combination during remote application activation, sending only the server response. The default IME key combination interception is shown in Table 1 below:
[0090] Table 1
[0091]
[0092] If keyboard input method switching shortcuts are not handled specifically, the corresponding shortcuts may receive a response on the client side. When the keyboard input method is switched on the client side, the shortcut is sent to the server side. When the keyboard input method is switched on the server side, and the keyboard input method synchronization function is enabled, the client's keyboard input method information is sent to the server side for synchronization. This will result in redundant server-side keyboard input method switching and may even cause user discomfort.
[0093] As can be seen, the beneficial effects of this application are as follows: It obtains input configuration information sent by the remote application client, retrieves the target input configuration matching identifier based on the input configuration type information, performs input configuration item matching locally on the server, activates the corresponding input configuration item if a match is successful, and installs and activates the corresponding input configuration item if a match is unsuccessful. This achieves synchronization of input methods between the remote application server and the remote application client, eliminating the need for administrators to pre-install corresponding input methods for each user on the remote application server. This solves the problem of adapting to multiple input methods while reducing administrator maintenance costs and improving user experience.
[0094] Further, see Figure 2 As shown, Figure 2 This is a system architecture diagram of an application input configuration synchronization scheme provided in this application embodiment. SBCSession: remote application client program; xShell: message gateway on the remote application server side. Multiple remote applications can be opened in each remote application session, but only one xShell program is started. After receiving a keyboard input method synchronization message, xShell will change the keyboard and input method selection of the corresponding user session based on subsequent system flow design. DUMMY Windows for Remote App refers to the remote application client display and input interaction window. The client program has a window representing the remote application's projected screen and input interface. For each monitor used by the client, a corresponding window is created in the client program. SDX-NET is a remote desktop network communication protocol. DVC_CHANNEL_IME is a dedicated channel for transmitting input method-related data. The black arrow indicates the use of a self-developed protocol and channel in the current remote application system to transmit keyboard input method synchronization notification messages to the server side. Notify and DetectChange refers to notification and detection of changes. Client input Method refers to the client input method. Server inputMethod refers to the server input method. Sync for Client best effort means client synchronization: best effort.
[0095] By combining remote application client-side input method change notifications (ITfInputProcessorProfileActivationSink::OnActivated notification interface and WM_INPUTLANGCHANGE message notification) with proactive detection of current keyboard input method information, the keyboard input method information selected by the SBC client is reliably and promptly sent to the remote application server-side remote application user session for best-effort matching. The current keyboard input method information refers to the keyboard and input method selection information of the Windows system session on the client side. In newer systems such as Windows 10 and Windows 11, by default, a Windows user session can uniformly select one keyboard layout or input method as the current keyboard input method selection. Keyboard layout and input method are parallel; only one input configuration item can be selected as the currently active one, which could be either the keyboard layout or the input method. The ITfInputProcessorProfileActivationSink::OnActivated notification interface and WM_INPUTLANGCHANGE message notification only occur when the remote application client program continuously holds the input focus. If the client-side switches to another local application and modifies the input configuration settings for the current session, the remote application client will not receive notification API calls or notification messages. To address this, in addition to registering a notification API or simply handling notification messages, the remote application client program also proactively detects whether the currently active keyboard input method has changed and needs to send the keyboard input method information to the server for synchronization during the window focus message notification. The keyboard input method information, i.e., the input configuration information structure, is as follows:
[0096] / / Keyboard input method synchronization information
[0097] struct CMSG_IME_WIN_SYNC
[0098] {
[0099] DWORD dwProfileType;
[0100] LANGID langid;
[0101] CLSID clsid;
[0102] GUID guidProfile;
[0103] DWORD hkl;
[0104] DWORD klid;
[0105] };
[0106] This application uses a unified information structure to represent keyboard and input method input information, i.e., input configuration information: dwProfileType, which is the type of input configuration item (input method TF_PROFILETYPE_INPUTPROCESSOR). <1> Keyboard TF_PROFILETYPE_KEYBOARDLAYOUT <2> This refers to the input configuration type information; langid is the input configuration item language ID, also known as the input configuration language identifier (i.e., the aforementioned language identifier); clsid is the input method text service GUID identifier (this parameter is set to GUID_NULL in keyboard type input configuration), also known as the unique identifier of the input method configuration item text service (i.e., the aforementioned unique identifier of the text service); guidProfile is the input method configuration item GUID identifier (this parameter is set to GUID_NULL in keyboard type input configuration), also known as the unique identifier of the input method configuration item (i.e., the aforementioned unique identifier of the configuration item); hkl is the keyboard configuration item HKL handle (this parameter is NULL in input method type input configuration), also known as the keyboard layout handle of the keyboard configuration item; klid is the keyboard configuration item KLID (a parameter used for keyboard installation and loading under keyboard input mode), also known as the keyboard layout identifier of the keyboard configuration item.
[0107] Furthermore, the server-side best-effort matching response may include the following steps:
[0108] ① The input method configuration type matching activation operation means that the input configuration type information carried in the input configuration information is the input method configuration type. It prioritizes using clsid and guidProfile for complete matching search, and then uses langid for language matching search.
[0109] ② If no matching input method is found, install the Microsoft input method for the corresponding language.
[0110] ③ The keyboard layout configuration type matching activation operation means that the input configuration type information carried in the input configuration information is the keyboard configuration type, and hkl is used for matching and searching.
[0111] ④ If no matching keyboard layout is found, try installing and activating the keyboard using klid.
[0112] ⑤ If klid cannot be installed by finding registry information starting with 0xE0, then the keyboard synchronization request is for an old IME input method installed by the client itself, and the response is changed to an input method langid matching operation activation response.
[0113] The input method installation process can be implemented by extracting a Windows system script to initialize and install the corresponding Microsoft input method for a specified language user, or by responding to a pre-installed installation package from the administrator. The core calls in the keyboard layout installation process are loading and installing the klid item. The LoadKeyboardLayoutW() function loads the keyboard corresponding to a specified klid, and the InstallLayoutOrTipUserReg() function installs and persists the keyboard corresponding to a specified klid for a specified user.
[0114] See Figure 3 As shown, Figure 3 This application provides a flowchart for an input method configuration activation process. Upon receiving keyboard input method synchronization information (i.e., input configuration information), if the input configuration type is an input method configuration type, the input method configuration activation process is executed; otherwise, the keyboard activation configuration process is executed. See also... Figure 4 As shown, Figure 4 This is a flowchart illustrating a keyboard activation configuration method as provided in an embodiment of this application.
[0115] Since the keyboard layout and input methods installed on the client-side Windows system cannot be predicted, while the remote application server requires the administrator to prepare and install them for each user during the initial system deployment configuration, the synchronization solution provided in this application can automatically install the corresponding Windows operating system's pre-installed keyboard layout. Therefore, the administrator does not need to prepare the required keyboard layout for each user during deployment. Regarding input methods, taking Chinese input methods as an example, the administrator can install only one Microsoft Pinyin input method for each user on the server, or the current system design can automatically install and match Microsoft Pinyin input methods. This way, regardless of which Chinese input method the user selects on the client, the corresponding remote application will select Microsoft Pinyin. Alternatively, the administrator can install a comprehensive range of Pinyin input methods for each user on the server. This way, when the user selects a common Chinese input method on the client, the corresponding remote application will select the specified Pinyin input method. The synchronization solution provided in this application can install the corresponding input method even when it is not installed on the server. The current design allows for flexible and convenient deployment and management.
[0116] As can be seen, this application proposes an optimized scheme to synchronize both input methods and keyboard layouts. It proposes a convenient and effective strategy for automatically installing supplementary adaptation items when input methods and keyboard layouts lack synchronization adaptation items on the Windows platform, and for switching from keyboard layout adaptation to input method language adaptation when IME input methods lack adaptation items. It also proposes a solution to the conflicting hotkeys for switching input methods on the client and server sides of the Windows platform. When a specified input method cannot be synchronized, in addition to calling a Microsoft installation script to install the corresponding language Microsoft input method, it also supports administrators to pre-configure installation packages for specified language input methods. When synchronization adaptation of a specified input method fails, the pre-configured installation package for the corresponding language is automatically invoked. The remote user can see the input method installation program interface in the remote application session interface to complete the installation. The remote application server calls the specified language input method installation package and also transmits the installation package program as a remote application to the client, which is a method of popping up the pre-configured input method installation package program for input method synchronization failure. This achieves portability and consistency of multi-language input in Windows remote applications (especially Win client-Win server remote applications). It can greatly reduce the pre-deployment cost for administrators and provides a very convenient and effective best-effort adaptation method to enhance the user experience in multilingual remote application input scenarios.
[0117] See Figure 5 As shown, this application embodiment provides an input configuration synchronization method applied to a remote application client, including:
[0118] Step S21: Monitor changes in input configuration.
[0119] Step S22: If the input configuration change meets the preset input configuration change conditions, send input configuration information to the remote application server. The input configuration information carries input configuration type information and a target input configuration matching identifier corresponding to the input configuration type information. The target input configuration matching identifier is used to match the input configuration item on the remote application server. If a target input configuration item corresponding to the target input configuration matching identifier is matched, activate the target input configuration item on the remote application server. If no target input configuration item corresponding to the target input configuration matching identifier is matched, install and activate the corresponding input configuration item on the remote application server according to a preset strategy.
[0120] As can be seen, this embodiment monitors input configuration changes. When the input configuration change meets preset input configuration change conditions, it sends input configuration information to the remote application server. The remote application server then obtains the target input configuration matching identifier from the input configuration information based on the input configuration type information, performs input configuration item matching locally on the server, activates the corresponding input configuration item if a match is successful, and installs and activates the corresponding input configuration item if a match is unsuccessful. In this way, the input methods of the remote application server and the remote application client are synchronized. Administrators do not need to pre-install corresponding input methods for each user on the remote application server. This solves the problem of adapting multiple input methods while reducing administrator maintenance costs and improving user experience.
[0121] See Figure 6 As shown, this application embodiment provides an input configuration synchronization device applied to a remote application server, including:
[0122] Input configuration information acquisition module 11 is used to acquire input configuration information sent by the remote application client;
[0123] The input configuration matching identifier reading module 12 is used to read the target input configuration matching identifier from the input configuration information based on the input configuration type information carried in the input configuration information;
[0124] The input configuration type matching module 13 is used to match the input configuration items on the remote application server based on the target input configuration matching identifier;
[0125] The input configuration installation and activation module 14 activates the target input configuration item on the remote application server when a target input configuration matching identifier is found; otherwise, it installs and activates the corresponding input configuration item on the remote application server according to a preset strategy.
[0126] In an optional implementation, the input configuration matching identifier reading module 12 can be used to read the language identifier, text service unique identifier, and configuration item unique identifier from the input configuration information if the input configuration type information carried in the input configuration information is an input method configuration type. The input configuration type matching module 13 can be used to perform matching based on the input configuration type information, language identifier, text service unique identifier, and configuration item unique identifier. If no target input configuration item corresponding to the input configuration type information, language identifier, text service unique identifier, and configuration item unique identifier is matched, then matching is performed based on the input configuration type information and language identifier; if no target input configuration item corresponding to the input configuration type information and language identifier is matched, then it is determined that no target input configuration item corresponding to the target input configuration matching identifier has been matched.
[0127] In an optional implementation, the input configuration matching identifier reading module 12 can be used to read the keyboard layout handle from the input configuration information if the input configuration type information carried in the input configuration information is a keyboard configuration type; correspondingly, the input configuration matching module 13 can be used to match the input configuration items on the remote application server based on the input configuration type information and the keyboard layout handle.
[0128] In an optional implementation, the input configuration installation activation module 14 can be used to install and activate the corresponding input configuration item based on the parameters for keyboard installation and loading carried in the input configuration information when no matching input configuration type information or the target input configuration item corresponding to the keyboard layout handle is found.
[0129] In an optional implementation, the input configuration matching module 13 can also be used to extract a language identifier from the parameters used for keyboard installation and loading if the input configuration item of the keyboard configuration type is not successfully installed based on the parameters used for keyboard installation and loading and the preset conditions are met, and to perform input configuration item matching of the input method configuration type based on the language identifier; the input configuration installation activation module 14 is used to activate the input configuration item if the input configuration item of the input method configuration type corresponding to the language identifier is matched.
[0130] In an optional implementation, the device may further include a key combination response module for switching the input method corresponding to the remote application client in response to a preset key combination, wherein the remote application client is prohibited from responding to the preset key combination.
[0131] The input configuration information is the input configuration information sent by the remote application client when it detects that the preset input configuration change conditions are met.
[0132] As can be seen, this embodiment of the application obtains the input configuration information sent by the remote application client, obtains the target input configuration matching identifier from the input configuration information based on the input configuration type information, performs input configuration item matching locally on the server, activates the corresponding input configuration item if a match is successful, and installs and activates the corresponding input configuration item if a match is unsuccessful. In this way, the input methods of the remote application server and the remote application client are synchronized, eliminating the need for the administrator to pre-install the corresponding input method for each user on the remote application server. This can solve the problem of adapting multiple input methods while reducing the administrator's operation and maintenance costs and improving the user experience.
[0133] See Figure 7 As shown in the figure, this application provides an apparatus for use in a remote application client, comprising:
[0134] The configuration change monitoring module 110 is used to monitor changes in input configuration.
[0135] The configuration information sending module 120 is used to send input configuration information to a remote application server when the input configuration change meets the preset input configuration change conditions. The input configuration information carries input configuration type information and a target input configuration matching identifier corresponding to the input configuration type information. The target input configuration matching identifier is used to match the input configuration items on the remote application server. If a target input configuration item corresponding to the target input configuration matching identifier is matched, the target input configuration item is activated on the remote application server. If no target input configuration item corresponding to the target input configuration matching identifier is matched, the corresponding input configuration item is installed and activated on the remote application server according to a preset strategy.
[0136] See Figure 8 As shown in the figure, this application discloses a service device 20, including a processor 21 and a memory 22; wherein, the memory 22 is used to store a computer program; the processor 21 is used to execute the computer program, the input configuration synchronization method disclosed in the foregoing embodiments.
[0137] For details regarding the specific process of the above-mentioned input configuration synchronization method, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.
[0138] Furthermore, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk, or optical disk, and the storage method can be temporary or permanent storage. The service device 20 can be a server.
[0139] In addition, the service device 20 also includes a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26; wherein, the power supply 23 is used to provide operating voltage for each hardware device on the service device 20; the communication interface 24 can create a data transmission channel between the service device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.
[0140] See Figure 9 As shown in the figure, this application discloses a terminal device 30, including a processor 31 and a memory 32; wherein, the memory 32 is used to store a computer program; the processor 31 is used to execute the computer program, the input configuration synchronization method disclosed in the foregoing embodiments.
[0141] For details regarding the specific process of the above-mentioned input configuration synchronization method, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.
[0142] Furthermore, the memory 32, as a carrier for resource storage, can be a read-only memory, random access memory, disk, or optical disk, and the storage method can be temporary storage or permanent storage.
[0143] In addition, the terminal device 30 also includes a power supply 33, a communication interface 34, an input / output interface 35, and a communication bus 36; wherein, the power supply 33 is used to provide operating voltage for the various hardware devices on the terminal device 30; the communication interface 34 can create a data transmission channel between the terminal device 30 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 35 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.
[0144] Furthermore, embodiments of this application also disclose a computer-readable storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the input configuration synchronization method disclosed in the foregoing embodiments.
[0145] For details regarding the specific process of the above-mentioned input configuration synchronization method, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.
[0146] Furthermore, embodiments of this application also disclose a computer program product, including a computer program / instruction, which, when executed by a processor, implements the input configuration synchronization method disclosed in the foregoing embodiments.
[0147] For details regarding the specific process of the above-mentioned input configuration synchronization method, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.
[0148] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.
[0149] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0150] The above provides a detailed description of the input configuration synchronization method, apparatus, device, and product provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. An input configuration synchronization method, characterized in that, Applied to remote application servers, including: Obtain input configuration information sent by the remote application client; Based on the input configuration type information carried in the input configuration information, the target input configuration matching identifier is read from the input configuration information; The input configuration items on the remote application server are matched based on the target input configuration matching identifier; If a target input configuration item corresponding to the target input configuration matching identifier is matched, the target input configuration item is activated on the remote application server. If no target input configuration item corresponding to the target input configuration matching identifier is found, the corresponding input configuration item is installed and activated on the remote application server according to a preset strategy.
2. The input configuration synchronization method according to claim 1, characterized in that, Based on the input configuration type information carried in the input configuration information, the target input configuration matching identifier is read from the input configuration information, including: If the input configuration type information carried in the input configuration information is an input method configuration type, then the language identifier, text service unique identifier, and configuration item unique identifier are read from the input configuration information. Accordingly, matching the input configuration items on the remote application server based on the target input configuration matching identifier includes: Matching is performed based on input configuration type information, language identifier, unique text service identifier, and unique configuration item identifier; If no target input configuration item is found that corresponds to the input configuration type information, language identifier, text service unique identifier, and configuration item unique identifier, then matching is performed based on the input configuration type information and language identifier. If no target input configuration item corresponding to the input configuration type information and language identifier is found, it is determined that no target input configuration item corresponding to the target input configuration matching identifier is found.
3. The input configuration synchronization method according to claim 1, characterized in that, Based on the input configuration type information carried in the input configuration information, the target input configuration matching identifier is read from the input configuration information, including: If the input configuration type information carried in the input configuration information is a keyboard configuration type, then the keyboard layout handle is read from the input configuration information; Accordingly, matching the input configuration items on the remote application server based on the target input configuration matching identifier includes: The input configuration items on the remote application server are matched based on the input configuration type information and keyboard layout handle.
4. The input configuration synchronization method according to claim 3, characterized in that, If no target input configuration item corresponding to the target input configuration matching identifier is found, the corresponding input configuration item is installed and activated on the remote application server according to a preset strategy, including: If no matching input configuration type information or target input configuration item corresponding to the keyboard layout handle is found, the corresponding input configuration item is installed and activated based on the parameters for keyboard installation and loading carried in the input configuration information.
5. The input configuration synchronization method according to claim 4, characterized in that, Also includes: If the input configuration item of the keyboard configuration type is not successfully installed based on the parameters used for keyboard installation and loading and the preset conditions are met, then the language identifier is extracted from the parameters used for keyboard installation and loading, and the input configuration item of the input method configuration type is matched based on the language identifier. If an input configuration item corresponding to the input method configuration type of the language identifier is matched, then the input configuration item is activated.
6. The input configuration synchronization method according to any one of claims 1 to 5, characterized in that, Also includes: In response to a preset key combination, the input method corresponding to the remote application client is switched, wherein the remote application client is prohibited from responding to the preset key combination.
7. The input configuration synchronization method according to claim 1, characterized in that, The input configuration information is the input configuration information sent by the remote application client when it detects that the preset input configuration change conditions are met.
8. An input configuration synchronization method, characterized in that, Applied to remote application clients, including: Monitor changes to input configuration; When the input configuration change meets the preset input configuration change conditions, input configuration information is sent to the remote application server. The input configuration information carries input configuration type information and a target input configuration matching identifier corresponding to the input configuration type information. The target input configuration matching identifier is used to match the input configuration items on the remote application server. If a target input configuration item corresponding to the target input configuration matching identifier is matched, the target input configuration item is activated on the remote application server. If no target input configuration item corresponding to the target input configuration matching identifier is matched, the corresponding input configuration item is installed and activated on the remote application server according to a preset strategy.
9. An apparatus, characterized in that, Applied to remote application servers, including: The input configuration information acquisition module is used to acquire input configuration information sent by remote application clients; The input configuration matching identifier reading module is used to read the target input configuration matching identifier from the input configuration information based on the input configuration type information carried in the input configuration information; The input configuration matching module is used to match the input configuration items on the remote application server based on the target input configuration matching identifier; The input configuration installation and activation module is used to activate the target input configuration item on the remote application server when a target input configuration item corresponding to the target input configuration matching identifier is matched; and to install and activate the corresponding input configuration item on the remote application server according to a preset strategy when no target input configuration item corresponding to the target input configuration matching identifier is matched.
10. An apparatus, characterized in that, Applied to remote application clients, including: Monitor changes to input configuration; When the input configuration change meets the preset input configuration change conditions, input configuration information is sent to the remote application server. The input configuration information carries input configuration type information and a target input configuration matching identifier corresponding to the input configuration type information. The target input configuration matching identifier is used to match the input configuration items on the remote application server. If a target input configuration item corresponding to the target input configuration matching identifier is matched, the target input configuration item is activated on the remote application server. If no target input configuration item corresponding to the target input configuration matching identifier is matched, the corresponding input configuration item is installed and activated on the remote application server according to a preset strategy.
11. A service device, characterized in that, Includes memory and processor, wherein: The memory is used to store computer programs; The processor is configured to execute the computer program to implement the input configuration synchronization method as described in any one of claims 1 to 7.
12. A terminal device, characterized in that, Includes memory and processor, wherein: The memory is used to store computer programs; The processor is configured to execute the computer program to implement the input configuration synchronization method as described in claim 8.
13. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the steps of the input configuration synchronization method according to any one of claims 1 to 8.