It seems the *.inf files are not UTF-8, so any non-Roman characters used in keyboard names turn into question marks. The native script name is stored in the kmx file, so getting it from there seems to work.
1) Enable/disable event tap depending on whether Keyman is the active IM; 2) Made code dealing with keeping track of activating/deactivating servers thread-safe; 3) Improved clean-up when event tap cannot be re-enabled; 4) Improved and cleaned up some comments and code aesthetics.
When a special event comes in indicating the event tap has been disabled by timeout or by the user, we attempt to re-enable it. Otherwise, use fallback logic.
Still need to investigate why some links to help.keyman.com/... don't work in download window. Also, this check-in contains some commmented-out code to try to get mouse pointer to change over hyperlinks. Need to get it working or revert (possibly need to report as a separate issue). Also, it would be nice for there to be some user feedback when loading pages, which can be quite slow at times.