public WinInkRelativePointer(IVirtualScreen screen) : base(screen, 0x05, "WindowsInk") { WinInkButtonHandler.SetReport(Report); WinInkButtonHandler.SetDevice(Device); maxPoint = new Vector2(VirtualScreen.Width, VirtualScreen.Height); currentPoint = maxPoint / 2; }
protected TiledGame() { loader = new ModuleLoader(); loader.Load(); this.stateManager = loader.GetStateManager(); this.spriteDrawer = loader.GetDrawer(); this.spriteFontDawer = loader.GetFontDrawer(); this.inputManager = loader.GetInputManager(); this.virtualScreen = loader.GetVirtualScreen(); this.camera = loader.GetCamera(); this.contentLoader = loader.GetContentLoader(); }
public BasePointer(IVirtualScreen screen, byte ReportID, string Name) { Report = new T { ReportID = ReportID }; VirtualScreen = screen; Device = VMultiDevice.Retrieve(Name); ScreenToVMulti = new Vector2(VirtualScreen.Width, VirtualScreen.Height) / 32767; }
public BasePointer(IVirtualScreen screen, string Name) { ReportBuffer = GC.AllocateArray <byte>(Unsafe.SizeOf <T>(), pinned: true); ReportPointer = (T *)Unsafe.AsPointer(ref ReportBuffer[0]); T report = CreateReport(); *ReportPointer = report; VirtualScreen = screen; Device = VMultiDevice.Retrieve(Name); ScreenToVMulti = new Vector2(VirtualScreen.Width, VirtualScreen.Height) / 32767; }
public WindowsAbsolutePointer(IVirtualScreen virtualScreen) { timer = new System.Threading.Timer( state => screenToVirtualDesktop = new Vector2( virtualScreen.Width, virtualScreen.Height ) / 65535, null, TimeSpan.Zero, TimeSpan.FromSeconds(1) ); screenToVirtualDesktop = new Vector2(virtualScreen.Width, virtualScreen.Height) / 65535; }
public unsafe EvdevAbsolutePointer(IVirtualScreen virtualScreen) { Device = new EvdevDevice("OpenTabletDriver Virtual Tablet"); Device.EnableType(EventType.EV_ABS); var xAbs = new input_absinfo { maximum = (int)virtualScreen.Width }; input_absinfo *xPtr = &xAbs; Device.EnableCustomCode(EventType.EV_ABS, EventCode.ABS_X, (IntPtr)xPtr); var yAbs = new input_absinfo { maximum = (int)virtualScreen.Height }; input_absinfo *yPtr = &yAbs; Device.EnableCustomCode(EventType.EV_ABS, EventCode.ABS_Y, (IntPtr)yPtr); Device.EnableTypeCodes( EventType.EV_KEY, EventCode.BTN_LEFT, EventCode.BTN_MIDDLE, EventCode.BTN_RIGHT, EventCode.BTN_FORWARD, EventCode.BTN_BACK); var result = Device.Initialize(); switch (result) { case ERRNO.NONE: Log.Debug("Evdev", $"Successfully initialized virtual tablet. (code {result})"); break; default: Log.Write("Evdev", $"Failed to initialize virtual tablet. (error code {result})", LogLevel.Error); break; } }
public unsafe EvdevVirtualTablet(IVirtualScreen virtualScreen) { Device = new EvdevDevice("OpenTabletDriver Virtual Artist Tablet"); Device.EnableType(EventType.INPUT_PROP_DIRECT); Device.EnableType(EventType.EV_ABS); screenScale = new Vector2(virtualScreen.Width, virtualScreen.Height); var xAbs = new input_absinfo { maximum = Max, resolution = 100 }; input_absinfo *xPtr = &xAbs; Device.EnableCustomCode(EventType.EV_ABS, EventCode.ABS_X, (IntPtr)xPtr); var yAbs = new input_absinfo { maximum = Max, resolution = 100 }; input_absinfo *yPtr = &yAbs; Device.EnableCustomCode(EventType.EV_ABS, EventCode.ABS_Y, (IntPtr)yPtr); var pressure = new input_absinfo { maximum = MaxPressure }; input_absinfo *pressurePtr = &pressure; Device.EnableCustomCode(EventType.EV_ABS, EventCode.ABS_PRESSURE, (IntPtr)pressurePtr); var xTilt = new input_absinfo { minimum = -64, maximum = 63, resolution = 57 }; input_absinfo *xTiltPtr = &xTilt; Device.EnableCustomCode(EventType.EV_ABS, EventCode.ABS_TILT_X, (IntPtr)xTiltPtr); var yTilt = new input_absinfo { minimum = -64, maximum = 63, resolution = 57 }; input_absinfo *yTiltPtr = &yTilt; Device.EnableCustomCode(EventType.EV_ABS, EventCode.ABS_TILT_Y, (IntPtr)yTiltPtr); Device.EnableTypeCodes( EventType.EV_KEY, EventCode.BTN_TOUCH, EventCode.BTN_STYLUS, EventCode.BTN_TOOL_PEN, EventCode.BTN_TOOL_RUBBER, EventCode.BTN_STYLUS2, EventCode.BTN_STYLUS3 ); var result = Device.Initialize(); switch (result) { case ERRNO.NONE: Log.Debug("Evdev", $"Successfully initialized virtual pressure sensitive tablet. (code {result})"); break; default: Log.Write("Evdev", $"Failed to initialize virtual pressure sensitive tablet. (error code {result})", LogLevel.Error); break; } }
public VMultiRelativePointer(IVirtualScreen screen) : base(screen, "VMultiRel") { ButtonHandler.SetReport((VMultiReportHeader *)ReportPointer, ReportBuffer); }
public WinInkAbsolutePointer(IVirtualScreen screen) : base(screen, 0x05, "WindowsInk") { WinInkButtonHandler.SetReport(Report); WinInkButtonHandler.SetDevice(Device); }
public VMultiRelativePointer(IVirtualScreen screen) : base(screen, 0x04, "VMultiRel") { ButtonHandler.SetReport(Report); }
public VMultiAbsolutePointer(IVirtualScreen screen) : base(screen, 0x09, "VMultiAbs") { ButtonHandler.SetReport(Report); }
public MacOSAbsolutePointer(IVirtualScreen virtualScreen) : base(virtualScreen) { }
public MacOSRelativePointer(IVirtualScreen virtualScreen) : base(virtualScreen) { }
public GameObjectsFactory(ISpritesFactory spritesFactory, IVirtualScreen virtualScreen) { this.spritesFactory = spritesFactory; this.virtualScreen = virtualScreen; }
protected MacOSVirtualMouse(IVirtualScreen virtualScreen) { var primary = virtualScreen.Displays.FirstOrDefault(); offset = new CGPoint(primary.Position.X, primary.Position.Y); }