public void SendMouseButtonAction(int button, ButtonAction buttonAction, double percentX, double percentY, Viewer viewer) { try { var isPressed = buttonAction == ButtonAction.Down; // Browser buttons start at 0. XTest starts at 1. var mouseButton = (uint)(button + 1); InitDisplay(); SendMouseMove(percentX, percentY, viewer); if (EnvironmentHelper.Is64) { LibXtst.XTestFakeButtonEvent(Display, mouseButton, isPressed, 0); } else { LibXtst_32.XTestFakeButtonEvent(Display, mouseButton, isPressed, 0); } LibX11.XSync(Display, false); } catch (Exception ex) { Logger.Write(ex); } }
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); } }
public void SendMouseMove(double percentX, double percentY, Viewer viewer) { try { InitDisplay(); var screenBounds = viewer.Capturer.CurrentScreenBounds; if (EnvironmentHelper.Is64) { LibXtst.XTestFakeMotionEvent(Display, LibX11.XDefaultScreen(Display), screenBounds.X + (int)(screenBounds.Width * percentX), screenBounds.Y + (int)(screenBounds.Height * percentY), 0); } else { LibXtst_32.XTestFakeMotionEvent(Display, LibX11.XDefaultScreen(Display), screenBounds.X + (int)(screenBounds.Width * percentX), screenBounds.Y + (int)(screenBounds.Height * percentY), 0); } LibX11.XSync(Display, false); } catch (Exception ex) { Logger.Write(ex); } }
public void SendLeftMouseUp(double percentX, double percentY, Viewer viewer) { try { SendMouseMove(percentX, percentY, viewer); LibXtst.XTestFakeButtonEvent(Display, 1, false, 0); LibX11.XSync(Display, false); } catch (Exception ex) { Logger.Write(ex); } }
public void SendRightMouseDown(double percentX, double percentY, Viewer viewer) { try { InitDisplay(); SendMouseMove(percentX, percentY, viewer); LibXtst.XTestFakeButtonEvent(Display, 3, true, 0); LibX11.XSync(Display, false); } catch (Exception ex) { Logger.Write(ex); } }
public uint SendLeftMouseDown(double percentX, double percentY, Viewer viewer) { try { SendMouseMove(percentX, percentY, viewer); LibXtst.XTestFakeButtonEvent(Display, 1, true, 0); LibX11.XSync(Display, false); return(0); } catch (Exception ex) { Logger.Write(ex); return(1); } }
public void SendMouseMove(double percentX, double percentY, Viewer viewer) { try { LibXtst.XTestFakeMotionEvent(Display, viewer.Capturer.GetSelectedScreenIndex(), (int)(viewer.Capturer.CurrentScreenBounds.Width * percentX), (int)(viewer.Capturer.CurrentScreenBounds.Height * percentY), 0); LibX11.XSync(Display, false); } catch (Exception ex) { Logger.Write(ex); } }
public uint SendMouseMove(double percentX, double percentY, Viewer viewer) { try { var capturer = new X11Capture(Display); LibXtst.XTestFakeMotionEvent(Display, viewer.Capturer.SelectedScreen, (int)(viewer.Capturer.CurrentScreenBounds.Width * percentX), (int)(viewer.Capturer.CurrentScreenBounds.Height * percentY), 0); LibX11.XSync(Display, false); } catch (Exception ex) { Logger.Write(ex); } return(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); } }
public void SendMouseWheel(int deltaY, Viewer viewer) { try { if (deltaY > 0) { LibXtst.XTestFakeButtonEvent(Display, 4, true, 0); LibXtst.XTestFakeButtonEvent(Display, 4, false, 0); } else { LibXtst.XTestFakeButtonEvent(Display, 5, true, 0); LibXtst.XTestFakeButtonEvent(Display, 5, false, 0); } LibX11.XSync(Display, false); } catch (Exception ex) { Logger.Write(ex); } }
public void SendRightMouseUp(double percentX, double percentY, Viewer viewer) { try { InitDisplay(); SendMouseMove(percentX, percentY, viewer); if (EnvironmentHelper.Is64) { LibXtst.XTestFakeButtonEvent(Display, 3, false, 0); } else { LibXtst_32.XTestFakeButtonEvent(Display, 3, false, 0); } LibX11.XSync(Display, false); } catch (Exception ex) { Logger.Write(ex); } }
public void SendMouseWheel(int deltaY) { try { InitDisplay(); if (deltaY > 0) { LibXtst.XTestFakeButtonEvent(Display, 4, true, 0); LibXtst.XTestFakeButtonEvent(Display, 4, false, 0); if (EnvironmentHelper.Is64) { LibXtst.XTestFakeButtonEvent(Display, 4, true, 0); LibXtst.XTestFakeButtonEvent(Display, 4, false, 0); } else { LibXtst_32.XTestFakeButtonEvent(Display, 4, true, 0); LibXtst_32.XTestFakeButtonEvent(Display, 4, false, 0); } } else { if (EnvironmentHelper.Is64) { LibXtst.XTestFakeButtonEvent(Display, 5, true, 0); LibXtst.XTestFakeButtonEvent(Display, 5, false, 0); } else { LibXtst_32.XTestFakeButtonEvent(Display, 5, true, 0); LibXtst_32.XTestFakeButtonEvent(Display, 5, false, 0); } } LibX11.XSync(Display, false); } catch (Exception ex) { Logger.Write(ex); } }