@livingintown:Just a little update. I've done some research on this problem, and it appears to be related to a bug in X.org in its handling of synchronous message from an input method. This is not specific to SCIM, but SCIM manifests this problem rather reproducibly and it happens to be the default input method in many recent distros.
What happens is, when SlickEdit switches keyboard focus from one edit window to another by using key stroke (such as keyboard shortcut or simply hitting the escape key to activate the command line box), SE switches focus of the input context, which triggers the input method to send a message with synchronous reply request to the X-server. But the X-server never sends a reply back to the input method, thus the input method will stop releasing all future key press events to the client application (SlickEdit) while waiting for the synchronous reply. So, SlickEdit never receives any more key press events from this point on even though the user is hitting the keyboard repeatedly.
All we are doing internally is to switch input context focus from one edit control to another, and this is enough to confuse the X-server.
There has been many reports of this problem that affects not only SlickEdit but also many other applications:
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg273947.htmlhttps://bugs.launchpad.net/distros/ubuntu/+source/scim/+bug/66104https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=201284So, at this point, I'm trying to see whether or not there is anything we could do on SlickEdit side to mitigate this problem. But I can tell you up front that, since we don't receive any key press events from the X-server whatsoever, it's going to be a little difficult to put a workaround for this (other than disabling the XIM support altogether). So, I'm still having to decide what the "right fix" would be...
@davidlee62You could create a little wrapper script and launch SlickEdit (the 'vs' binary) by running that script. For instance, the following script works for me:
#!/bin/bash
# Change this path to your own 'vs' location.
VSEXEC=/opt/slickedit/bin/vs
unset XMODIFIERS
$VSEXEC $@
Name this script 'vs' (this is important, otherwise the background search will not run (fixed in v.12) ), and run it instead of the real 'vs' binary. That should do the trick.
Kohei