This page serves as a warning about other driver sites that offer so called tools to download touchscreen drivers for Windows 10 or 8. Firstly none of them have the drivers that are required. Drivers are almost always built into Windows. If your touch screen isn’t working there are few scenarios. And what drivers DO exist they will be listed below, but use at you own risk.

Generic Input Devices Driver

Check if at all there is an exclamation mark along the driver, it suggests issues with the driver installed. Repeat the step 2 to uninstall all items under 'Universal Serial Bus controllers'. If you still face the same issue then you may check for the updated USB device drivers using windows update. Install and Update drivers in Windows 10. Select Devices in the left pane. Double-click on ‘Other device‘ in the right pane to expand it. Right-click on the device name (e.g. Google Pixel) and select the ‘Update Driver‘ option. Click on ‘Browse my computer for driver software‘ in the Hardware Update wizard. Click ‘Browse‘ and locate the ‘usbdriver’ folder.

  • The touch screen has been mis-configured, or calibrated (Try system restore to a time when it worked) or go to the device manger to see if there are any HID devices that have an explanation mark or a question mark, uninstall them then re-scan for hardware changes this may fix the issue.
  • The touch screen is broken, this happens more than people think.

Don’t ever install any driver diagnostic tools from the big websites that offer these tools, they are ransomware.

Other things to try:

  1. Restart the computer, given the stability of computers these days, people don't reboot much.
  2. Clean the display with a soft, clean cloth. Sometimes a dirty screen will disable the touchscreen.
  3. Click the start button and in the search box type 'Calibrate the screen for pen or touch input'. Choose the top result. In this area click the setup button and follow the instructions.
  4. Go to 'Control Panel' and then 'Device Manager'. Select the 'Monitors' section and right click on your monitor. Check the information for the touch screen and make sure it is 'enabled'.
  5. Repeat step 4, but instead choose 'Update driver software' from the right-click menu.

It has also been reported that on Windows 10 and Windows 8 that going to the Windows Device Manager and going through the HID devices and disabling them and re-enabling them can fix touch screen issues. From a Microsoft forum:

  1. Audio Stream Input/Output (ASIO) is a computer sound card driver protocol for digital audio specified by Steinberg, providing a low-latency and high fidelity interface between a software application and a computer's sound card. Whereas Microsoft’s DirectSound is commonly used as an intermediary signal path for non-professional users, ASIO.
  2. To use this driver in your system, register a platformdevice with the name ‘rotary-encoder’ and associate the IRQs and some specific platform data with it. Because the driver uses generic device properties, this can be done either via device tree, ACPI, or using static board files, like in example below.

'Update Driver Software...'





'Scan for hardware changes'



Also worth trying is updating the system BIOS of computer.

There is a known issue with Windows 8 OEM not being compatible with touch screen devices. Many have suggested updating to a pro version, which is not worth the money.

Below there some older eGalaxTouch drivers for POS devices etc, that may be of use to someone.

Generic input devices driver touchpad


evdev - Generic Linux input driver



evdev is an Xorg input driver for Linux's generic event devices. It therefore supports all input devices that the kernel knows about, including mostmice, keyboards, tablets and touchscreens. evdev is the default driver on the major Linux distributions.

The evdev driver can serve as both a pointer and a keyboard input device. Multiple input devices are supported by multiple instances of this driver,with one InputDevice section of your xorg.conf for each input device that will use this driver.

It is recommended that evdev devices are configured through the InputClass directive (refer to xorg.conf(5)) instead of manual per-deviceconfiguration. Devices configured in the xorg.conf(5) are not hot-plug capable.

Supported Hardware

In general, any input device that the kernel has a driver for can be accessed through the evdev driver. See the Linux kernel documentation for acomplete list.

Configuration Details

Please refer to xorg.conf(5) for general configuration details and for options that can be used with all input drivers. This section only coversconfiguration details specific to this driver.

The following driver Options are supported:

Sets the button mapping for this device. The mapping is a space-separated list of button mappings that correspond in order to the physical buttons on thedevice (i.e. the first number is the mapping for button 1, etc.). The default mapping is '1 2 3 ... 32'. A mapping of 0 deactivates the button. Multiplebuttons can have the same mapping. For example, a left-handed mouse with deactivated scroll-wheel would use a mapping of '3 2 1 0 0'. Invalid mappings areignored and the default mapping is used. Buttons not specified in the user's mapping use the default mapping.
Option 'Device' 'string'
Specifies the device through which the device can be accessed. This will generally be of the form '/dev/input/eventX', where X is some integer. The mappingfrom device node to hardware is system-dependent. Property: 'Device Node' (read-only).
Option 'DragLockButtons' 'L1 B2 L3 B4'
Sets 'drag lock buttons' that simulate holding a button down, so that low dexterity people do not have to hold a button down at the same time they move amouse cursor. Button numbers occur in pairs, with the lock button number occurring first, followed by the button number that is the target of the lock button.Property: 'Evdev Drag Lock Buttons'.
Option 'DragLockButtons' 'M1'
Sets a 'master drag lock button' that acts as a 'Meta Key' indicating that the next button pressed is to be 'drag locked'. Property: 'Evdev Drag LockButtons'.

Option 'Emulate3Buttons' 'boolean'

Option 'Emulate3Timeout' 'integer'
Sets the timeout (in milliseconds) that the driver waits before deciding if two buttons where pressed 'simultaneously' when 3 button emulation is enabled.Default: 50. Property: 'Evdev Middle Button Timeout'.
Option 'EmulateWheel' 'boolean'
Enable/disable 'wheel' emulation. Wheel emulation means emulating button press/release events when the mouse is moved while a specific real button ispressed. Wheel button events (typically buttons 4 and 5) are usually used for scrolling. Wheel emulation is useful for getting wheel-like behaviour withtrackballs. It can also be useful for mice with 4 or more buttons but no wheel. See the description of the EmulateWheelButton,EmulateWheelInertia, EmulateWheelTimeout, XAxisMapping, and YAxisMapping options. Default: off. Property 'Evdev WheelEmulation'.
Option 'EmulateWheelButton' 'integer'
Specifies which button must be held down to enable wheel emulation mode. While this button is down, X and/or Y pointer movement will generate buttonpress/release events as specified for the XAxisMapping and YAxisMapping settings. If the button is 0 and EmulateWheel is on, any motion ofthe device is converted into wheel events. Default: 4. Property: 'Evdev Wheel Emulation Button'.
Option 'EmulateWheelInertia' 'integer'
Specifies how far (in pixels) the pointer must move to generate button press/release events in wheel emulation mode. Default: 10. Property: 'Evdev WheelEmulation Inertia'.
Option 'EmulateWheelTimeout' 'integer'
Specifies the time in milliseconds the EmulateWheelButton must be pressed before wheel emulation is started. If the EmulateWheelButton isreleased before this timeout, the original button press/release event is sent. Default: 200. Property: 'Evdev Wheel Emulation Timeout'.
Option 'EmulateThirdButton' 'boolean'
Enable third button emulation. Third button emulation emits a right button event (by default) by pressing and holding the first button. The first buttonmust be held down for the configured timeout and must not move more than the configured threshold for the emulation to activate. Otherwise, the first buttonevent is posted as normal. Default: off. Property: 'Evdev Third Button Emulation'.
Option 'EmulateThirdButtonTimeout' 'integer'
Specifies the timeout in milliseconds between the initial button press and the generation of the emulated button event. Default: 1000. Property: 'EvdevThird Button Emulation Timeout'.
Option 'EmulateThirdButtonButton' 'integer'
Specifies the physical button number to be emitted if third button emulation is triggered. Default: 3. Property: 'Evdev Third Button Button'.
Option 'EmulateThirdButtonMoveThreshold' 'integer'
Specifies the maximum move fuzz in device coordinates for third button emulation. If the device moves by more than this threshold before the third buttonemulation is triggered, the emulation is cancelled and a first button event is generated as normal. Default: 20. Property: 'Evdev Third Button EmulationThreshold'.
Option 'GrabDevice' 'boolean'
Force a grab on the event device. Doing so will ensure that no other driver can initialise the same device and it will also stop the device from sendingevents to /dev/kbd or /dev/input/mice. Events from this device will not be sent to virtual devices (e.g. rfkill or the Macintosh mouse button emulation).Default: disabled.
Option 'InvertX' 'Bool'
Option 'InvertY' 'Bool'
Invert the given axis. Default: off. Property: 'Evdev Axis Inversion'.
Option 'IgnoreRelativeAxes' 'Bool'
Option 'IgnoreAbsoluteAxes' 'Bool'
Ignore the specified type of axis. Default: unset. The X server cannot deal with devices that have both relative and absolute axes. Evdev tries to guesswich axes to ignore given the device type and disables absolute axes for mice and relative axes for tablets, touchscreens and touchpad. These options allow toforcibly disable an axis type. Mouse wheel axes are exempt and will work even if relative axes are ignored. No property, this configuration must be set in theconfiguration.
If either option is set to False, the driver will not ignore the specified axes regardless of the presence of other axes. This may trigger buggy behavior andevents from this axis are always forwarded. Users are discouraged from setting this option.
Option 'Calibration' 'min-x max-x min-y max-y'
Calibrates the X and Y axes for devices that need to scale to a different coordinate system than reported to the X server. This feature is required fordevices that need to scale to a different coordinate system than originally reported by the kernel (e.g. touchscreens). The scaling to the custom coordinatesystem is done in-driver and the X server is unaware of the transformation. Property: 'Evdev Axis Calibration'.
Option 'Mode' 'Relative''Absolute'
Sets the mode of the device if device has absolute axes. The default value for touchpads is relative, for other absolute. This option has no effect ondevices without absolute axes.
Option 'SwapAxes' 'Bool'
Swap x/y axes. Default: off. Property: 'Evdev Axes Swap'.
Option 'XAxisMapping' 'N1 N2'
Specifies which buttons are mapped to motion in the X direction in wheel emulation mode. Button number N1 is mapped to the negative X axis motion andbutton number N2 is mapped to the positive X axis motion. Default: no mapping. Property: 'Evdev Wheel Emulation Axes'.
Option 'YAxisMapping' 'N1 N2'
Specifies which buttons are mapped to motion in the Y direction in wheel emulation mode. Button number N1 is mapped to the negative Y axis motion andbutton number N2 is mapped to the positive Y axis motion. Default: '4 5'. Property: 'Evdev Wheel Emulation Axes'.

Supported Properties

The following properties are provided by the evdev driver.

Generic software device

Generic Usb Driver

xorg(1), xorg.conf(5), xserver(1), x(7)