示例#1
0
        public void SendKeyUp(string key)
        {
            try
            {
                InitDisplay();
                key = ConvertJavaScriptKeyToX11Key(key);
                var keySim = LibX11.XStringToKeysym(key);
                if (keySim == IntPtr.Zero)
                {
                    Logger.Write($"Key not mapped: {key}");
                    return;
                }

                var keyCode = LibX11.XKeysymToKeycode(Display, keySim);
                if (EnvironmentHelper.Is64)
                {
                    LibXtst.XTestFakeKeyEvent(Display, keyCode, false, 0);
                }
                else
                {
                    LibXtst_32.XTestFakeKeyEvent(Display, keyCode, false, 0);
                }
                LibX11.XSync(Display, false);
            }
            catch (Exception ex)
            {
                Logger.Write(ex);
            }
        }
示例#2
0
        public void SendKeyUp(string key, Viewer viewer)
        {
            try
            {
                key = ConvertJavaScriptKeyToX11Key(key);
                var keySim = LibX11.XStringToKeysym(key);
                if (keySim == null)
                {
                    Logger.Write($"Key not mapped: {key}");
                    return;
                }

                var keyCode = LibX11.XKeysymToKeycode(Display, keySim);
                LibXtst.XTestFakeKeyEvent(Display, keyCode, false, 0);
                LibX11.XSync(Display, false);
            }
            catch (Exception ex)
            {
                Logger.Write(ex);
            }
        }