Externalized execution of input method editor
AssigneeMicrosoft Technology Licensing, LLC
InventorsXin Gong, Daniel Chang, Sameer Garde, Drew Elliott Linerud, Eric Norman Badger
Life of this patent
Estimating the term…
Abstract
A facility for processing textual input generated with a user input device described. In one example facility, the facility stores the textual input in a first data structure contained in the address space of a first process. The facility synchronizes contents of the first data structure to a second data structure contained in the address space of a second process distinct from the first process, an application executing in the second process being configured to consume textual input synchronized to the second data structure.
Claims19
A computing system for providing textual output of an input method editor to an application, the computing system comprising:
- a first memory region configured to store a version of a body of text to which textual output of the input method editor is applied;
- a second memory region configured to store a version of a body of text to which text modifications performed by the application are applied;
- and
- a reconciliation subsystem configured to reconcile the contents of the first and second memory regions in a manner that favors the contents of the second memory region.
A computer-readable medium having contents configured to cause a computing system to, in order to process textual input generated with a user input device:
- store the textual input in a first data structure contained in the address space of a first process;
- and
- synchronize contents of the first data structure to a second data structure contained in the address space of a second process distinct from the first process, an application executing in the second process being configured to consume textual input synchronized to the second data structure.
A computer-readable medium storing a text synchronization data structure relating to a first buffer to which both (1) textual user input and (2) application text changes synchronized from a second buffer have been applied, the data structure comprising:
- one or more first entries each containing information identifying an editing action that (a) has been applied to the first buffer in response to textual user input, (b) has been communicated to the second buffer, and (c) has not been acknowledged by the second buffer,
- such that the contents of the first entries are usable to reverse editing actions that have been applied to the first buffer and are incompatible with application text changes to the second buffer.
Dependencies are inferred from the claim text.