14. A system for filtering inputs from a plurality of keyboards, comprising: a plurality of device drivers configured to provide an initial key mapping table for the plurality of keyboards; a smart filter API configured to: manage one or more mapping tables to determine matches between characters received from keyboard inputs to characters in a list of textual entries, to map each received character to a character in a matching textual entry, and to track possible combinations of characters for determining the matches.
14. A system for filtering inputs from a plurality of keyboards, comprising: a plurality of device drivers configured to provide an initial key mapping table for the plurality of keyboards; a smart filter API configured to: manage one or more mapping tables to determine matches between characters received from keyboard inputs to characters in a list of textual entries, to map each received character to a character in a matching textual entry, and to track possible combinations of characters for determining the matches. 15. The system of claim 14 , wherein the one or more mapping tables include at least one from a set of: an equivalence table for mapping a character to a base character value, a digit mapping table for mapping a character to one of a set of digit between 0 and 9, and a dynamic custom table for mapping a character that has already been mapped by the equivalence table to an alternate character, and wherein the mapping tables are stored in one of a binary file and a registry to be distributed to at least one client process for use by the smart filtering API.