Drivers Gigabyte Input Devices



GIGABYTE provides new innovated 3D sensing product -Time of Flight (ToF) camera. ToF camera is a special purpose, low-cost smart solution with novel 3D imaging capture technology. The ToF camera includes high-performance advanced analytics as a standard feature, improving measurement accuracy and performance when compared to the current. When you plug the device into your USB, Windows will look for the associated driver, if it cannot find this driver then you will be prompted to insert the driver disc that came with your device. Common USB Device errors are ‘ usb port not working ‘, ‘device descriptor request failed error’ or ‘bugcodeusbdriver’ issues.

  1. Drivers Gigabyte Input Devices Download
  2. Drivers Gigabyte Input Devices
  3. Drivers Gigabyte Input Devices Drivers
  4. Drivers Gigabyte Input Devices Free
-->

Non-HID keyboards and mice can connect over multiple legacy buses but still use the same class driver. This section contains details on the class drivers themselves. The following sections goes into details on the controllers.

This topic describes the typical physical configuration of keyboard and mouse devices in Microsoft Windows 2000 and later.

The following figures show two common configurations that employ a single keyboard and a single mouse.

The figure on the left shows a keyboard and a mouse connected to a system bus through independent controllers. A typical configuration consists of a PS/2-style keyboard operated through an i8042 controller, and a serial-style mouse operated through a serial port controller.

Drivers Gigabyte Input Devices

The following additional information is important for keyboard and mice manufactures:

  • Keyboards are opened in exclusive mode by the operating system stack for security reasons
  • Windows supports the simultaneous connection of more than one keyboard and mouse device.
  • Windows does not support independent access by a client to each device.

Class driver features

This topic describes the features of the following Microsoft Windows 2000 and later system class drivers:

  • Kbdclass, the class driver for devices of GUID_CLASS_KEYBOARD device class

  • Mouclass, the class driver for devices of GUID_CLASS_MOUSE device class

Kbdclass implements the Kbdclass service and its executable image is kbdclass.sys.

Mouclass implements the Mouclass service and its executable image is mouclass.sys.

Kbdclass and Mouclass each feature:

  • Generic and hardware-independent operation of the device class.

  • Plug and Play, power management, and Windows Management Instrumentation (WMI).

  • Operation of legacy devices.

  • Simultaneous operation of more than one device.

  • Connection of a class service callback routine that a function driver uses to transfer data from the input data buffer of the device to the data buffer of the class driver.

Configuration of device objects

The following figure shows the configuration of device objects for a Plug and Play PS/2-style keyboard and mouse device. Each class driver creates an upper-level class filter device object (filter DO) that is attached to a function device object (FDO) through an optional upper-level device filter DO. An upper-level device filter driver creates the upper-level device filter DO. I8042prt creates the function DO and attaches it to a physical device object (PDO) created by the root bus driver.

PS/2 Keyboard

The keyboard driver stack consists of the following.

  • Kbdclass, the upper-level keyboard class filter driver
  • One or more optional upper-level keyboard filter driver
  • I8042prt, the function driver

PS/2 Mouse

The mouse driver stack consists of the following.

  • Mouclass, the upper-level mouse class filter driver
  • One or more optional upper-level mouse filter driver
  • I8042prt, the function driver

Kbdclass and Mouclass can support more than one device in two different modes. In the one-to-one mode, each device has an independent device stack. The class driver creates and attaches an independent class DO to each device stack. Each device stack has its own control state and input buffer. The Microsoft Win32 subsystem accesses input from each device through a unique file object.

In the grandmaster mode, the class driver operates all the devices in the following way:

Drivers Gigabyte Input Devices Download

  • The class driver creates both a grandmaster class DO that represents all of the devices and a subordinate class DO for each device.

    The class driver attaches a subordinate class DO to each device stack. Below the subordinate class DO, the device stack is same as that created in the one-to-one mode.

  • The grandmaster class DO controls the operation of all the subordinate DOs.

  • The Win32 subsystem accesses all device input through the file object that represents the grandmaster class device.

  • All device input is buffered in the grandmaster's data queue.

  • The grandmaster maintains a single global device state.

Kbdclass and Mouclass operate in the one-to-one mode if their registry entry value ConnectMultiplePorts is set to 0x00 (under the key HKLMServicesCurrentControlSet<class service>Parameters, where class service is Kbdclass or Mouclass). Otherwise Kbdclass and Mouclass operate in grandmaster mode.

Open and close via the class driver

The Microsoft Win32 subsystem opens all keyboard and mouse devices for its exclusive use. For each device class, the Win32 subsystem treats input from all the devices as if the input came from a single input device. An application cannot request to receive input from only one particular device.

The Win32 subsystem dynamically opens Plug and Play input devices after it receives notification from the Plug and Play manager that a GUID_CLASS_KEYBOARD or GUID_CLASS_MOUSE device interface is enabled. The Win32 subsystem closes Plug and Play devices after it receives notification that an opened interface is disabled. The Win32 subsystem also opens legacy devices by name (for example, 'DeviceKeyboardLegacyClass0'). Note that once the Win32 subsystem successfully opens a legacy device, it cannot determine if the device is later physically removed.

After Kbdclass and Mouclass receive a create request they do the following for Plug and Play and legacy operation:

  • Plug and Play Operation

    If the device is in the Plug and Play started state, the class driver sends the IRP_MJ_CREATE request down the driver stack. Otherwise the class driver completes the request without sending the request down the driver stack. The class driver sets the trusted file that has read access to the device. If there is a grandmaster device, the class driver sends a create request to all the ports that are associated with the subordinate class devices.

  • Legacy Operation

    The class driver sends an internal device control request to the port driver to enable the device.

Connect a service callback to a device

The class drivers must connect their class service to a device before the device can be opened. The class drivers connect their class service after they attach a class DO to a device stack. The function driver uses the class service callback to transfer input data from a device to the class data queue for the device. The function driver's ISR dispatch completion routine for a device calls the class service callback. Kbdclass provides the class service callback KeyboardClassServiceCallback, and Mouclass provides the class service callback MouseClassServiceCallback.

A vendor can modify the operation of a class service callback by installing an upper-level filter driver for a device. The sample keyboard filter driver Kbfiltr defines the KbFilter_ServiceCallback callback, and the sample mouse filter driver Moufiltr defines the MouFilter_ServiceCallback callback. The sample filter service callbacks can be configured to modify the input data that is transferred from the port input buffer for a device to the class data queue. For example, the filter service callback can delete, transform, or insert data.

The class and filter service callbacks are connected in the following way:

  • The class driver sends an internal device connect request down the device stack (IOCTL_INTERNAL_KEYBOARD_CONNECT or IOCTL_INTERNAL_MOUSE_CONNECT). The class connect data is specified by a CONNECT_DATA structure that includes a pointer to the class device object, and a pointer to the class service callback.

  • After the filter driver receives the connect request, it saves a copy of the class connect data, and replaces the request's connect data with filter connect data. The filter connect data specifies a pointer to the filter device object and a pointer to the filter driver service callback. The filter driver then sends the filtered connect request to the function driver.

The class and filter service callbacks are called in the following way:

  • The function driver uses the filter connect data to make the initial callback to the filter service callback.

  • After filtering the input data, the filter service callback uses the class connect data that it saved to make a callback to the class service callback.

Query and set a keyboard device

I8042prt supports the following internal device control requests to query information about a keyboard device, and to set parameters on a keyboard device:

For more information about all keyboard device control requests, see Human Interface Devices Reference.

Scan code mapper for keyboards

In Microsoft Windows operating systems, PS/2-compatible scan codes provided by an input device are converted into virtual keys, which are propagated through the system in the form of Windows messages. If a device produces an incorrect scan code for a certain key, the wrong virtual key message will be sent. This can be fixed by writing a filter driver that analyzes the scan codes generated by firmware and modifies the incorrect scan code to one understood by the system. However, this is a tedious process and can sometimes lead to severe problems, if errors exist in the kernel-level filter driver.

Windows 2000 and Windows XP include a new Scan Code Mapper, which provides a method that allows for mapping of scan codes. The scan code mappings for Windows are stored in the following registry key:

Note There is also a Keyboard Layouts key (notice the plural form) under the Control key, but that key should not be modified.

In the Keyboard Layout key, the Scancode Map value must be added. This value is of type REG_BINARY (little Endian format) and has the data format specified in the following table.

Start offset (in bytes)Size (in bytes)Data
04Header: Version Information
44Header: Flags
84Header: Number of Mappings
124Individual Mapping
......
Last 4 bytes4Null Terminator (0x00000000)

The first and second DWORDS store header information and should be set to all zeroes for the current version of the Scan Code Mapper. The third DWORD entry holds a count of the total number of mappings that follow, including the null terminating mapping. The minimum count would therefore be 1 (no mappings specified). The individual mappings follow the header. Each mapping is one DWORD in length and is divided into two WORD length fields. Each WORD field stores the scan code for a key to be mapped.

Once the map is stored in the registry, the system must be rebooted for the mappings to take effect. Note that if the mapping of a scan code is necessary on a keypress, the step is performed in user mode just before the scan code is converted to a virtual key. Doing this conversion in user mode can present certain limitations, such as mapping not working correctly when running under Terminal Services.

To remove these mappings, remove the Scancode Map registry value and reboot.

Example 1

The following presents an example. To swap the left CTRL key with the CAPS LOCK key, use a registry editor (preferably Regedt32.exe) to modify the Scancode Map key with the following value:

The following table contains these entries broken into DWORD fields and the bytes swapped.

Value: Interpretation

0x00000000: Header: Version. Set to all zeroes.

0x00000000: Header: Flags. Set to all zeroes.

0x00000003: Three entries in the map (including null entry).

0x001D003A: Left CTRL key --> CAPS LOCK (0x1D --> 0x3A).

0x003A001D: CAPS LOCK --> Left CTRL key (0x3A --> 0x1D).

0x00000000: Null terminator.

Example 2

It is also possible to add a key not generally available on a keyboard or to remove a key that is never used. The following example shows the value stored in Scancode Map to remove the right CTRL key and change the functionality of the right ALT key to work as a mute key:

The following table contains these entries broken into DWORD fields and the bytes swapped.

Value: Interpretation

0x00000000: Header: Version. Set to all zeroes.

0x00000000: Header: Flags. Set to all zeroes.

0x00000003: Three entries in the map (including null entry).

0xE01D0000: Remove the right CTRL key (0xE01D --> 0x00).

0xE038E020: Right ALT key --> Mute key (0xE038 --> 0xE020).

0x00000000: Null terminator.

After the necessary data is generated, it can be inserted into the registry in several ways.

  • A .reg file can be generated that can be easily incorporated into the system registry using a registry editor.
  • An .inf file can also be created with an [AddReg] section that contains the registry information to be added.
  • Regedt32.exe can be used to manually add the information to the registry.

The Scan Code Mapper has several advantages and disadvantages.

The advantages include:

  • The Mapper can be used as an easy fix to correct firmware errors.
  • Frequently used keys can be added to the keyboard by modifying the map in registry. Keys that aren't often used (for example, right CTRL key) can be mapped to null (removed) or exchanged for other keys.
  • Key locations can be altered easily. Users can easily customize the location of frequently used keys for their benefit.

The following disadvantages are recognized:

  • Once the map is stored in the registry, a system reboot is required to activate it.
  • The mappings stored in the registry work at system level and apply to all users. These mappings cannot be set to work differently depending on the current user.
  • The current implementation restricts the functionality of the map such that mappings always apply to all keyboards connected to the system. It is not currently possible to create a map on a per-keyboard basis.

Query a mouse device

I8042prt supports the following internal device control request to query information about a mouse device:

For more information about all mouse device control requests, see Human Interface Devices Reference.

Registry settings associated with mouse class driver

The following is a list of registry keys associated with the mouse class driver.

[Key: HKLMSYSTEMCurrentControlSetServicesMouclassParameters]

  • MaximumPortsServiced – Not used on Windows XP and later. Only for Windows NT4.
  • PointerDeviceBaseName – Specifies the base name for the device objects created by the mouse class device driver
  • ConnectMultiplePorts – Determines whether there is one or more than one port device object for each class device object. This entry is used primarily by device drivers.
  • MouseDataQueueSize - Specifies the number of mouse events buffered by the mouse driver. It also is used in calculating the size of the mouse driver's internal buffer in the nonpaged memory pool.

Absolute pointing devices

For devices of type GUID_CLASS_MOUSE, a device's function driver:

  • Handles device-specific input.

  • Creates the MOUSE_INPUT_DATA structures required by MouseClassServiceCallback.

  • Transfers MOUSE_INPUT_DATA structures to the Mouclass data queue by calling MouseClassServiceCallback in its ISR dispatch completion routine.

For an absolute pointing device, the device's function driver must set the LastX, LastY, and Flags members of the MOUSE_INPUT_DATA structures in the following way:

  • In addition to dividing the device input value by the maximum capability of the device, the driver scales the device input value by 0xFFFF:

  • The driver sets the MOUSE_MOVE_ABSOLUTE flag in Flags.

  • If the input should be mapped by Window Manager to an entire virtual desktop, the driver sets the MOUSE_VIRTUAL_DESKTOP flag in Flags. If the MOUSE_VIRTUAL_DESKTOP flag is not set, Window Manager maps the input to only the primary monitor.

The following specifies, by type of device, how these special requirements for an absolute pointing device are implemented:

Drivers Gigabyte Input Devices

  • HID devices:

    Mouhid, the Windows function driver for HID mouse devices, implements these special requirements automatically.

  • PS/2-style devices:

    An upper-level filter driver is required. The filter driver supplies an IsrHook callback and a class service callback. I8042prt calls the IsrHook to handle raw device input, and calls the filter class service callback to filter the input. The filter class service callback, in turn, calls MouseClassServiceCallback. The combination of the IsrHook callback and the class service callback handles device-specific input, creates the required MOUSE_INPUT_DATA structures, scales the device input data, and sets the MOUSE_MOVE_ABSOLUTE flag.

  • Plug and Play COM port devices that are enumerated by Serenum:

    A Plug and Play function driver is required. The function driver creates the required MOUSE_INPUT_DATA structures, scales the device input data, and sets the MOUSE_MOVE_ABSOLUTE flag before it calls MouseClassServiceCallback.

  • Non-Plug and Play COM port devices:

    A device-specific function driver is required. The function driver creates the required MOUSE_INPUT_DATA structures, scales the device input data, and sets the MOUSE_MOVE_ABSOLUTE flag before it calls MouseClassServiceCallback.

  • Device on an unsupported bus:

    A device-specific function driver is required. The function driver creates the required MOUSE_INPUT_DATA structures, scales the device input data, and sets the MOUSE_MOVE_ABSOLUTE flag before it calls MouseClassServiceCallback.

The USB-A and USB-B connection types are what most users are accustomed to. Gpp driver. However, these days, there are more things you can achieve with the new USB-C type of connection. With this option, users can charge their computer. What’s more, they can also connect their PC to other USB-C type devices, including media players, smartphones, docking stations, and display adapters, among others.

However, we are aware that a good percentage of users are having troubles with their USB-C connection. In most cases, the problems are caused by problems with the hardware or software. Don’t worry because you can easily fix USB-C issues in a Windows 10 computer. After all. You will get notifications which you can use to determine how to resolve the problem.

What is a USB-C connector?

Developed by the USB Implementers Forum, the USB-C connection type is a tool for transmitting both power and data. It is worth noting that this was designed, certified, and released as an industry-standard connector by the members of the organization. Over 700 companies are part of the USB Implementers Forum, including Apple, Microsoft, Dell, HP, Intel, and Samsung. This is also the reason why many computer manufacturers readily accepted USB-C technology.

Is it similar to a micro USB connector?

At first glance, the USB-C connector looks a lot like a micro USB connector. However, the former has a distinct oval shape. Moreover, it is a little bit thicker to accommodate its best feature—like MagSafe and Lightning, the USB-C connector does not have an up or down orientation. You simply have to line the connector correctly, and you wouldn’t have to worry about flipping it to plug it in properly. Another key thing to remember is that the cables have the same connectors on both ends. This means that you would not have a hard time figuring out which end goes where.

Comparing USB-C and USB 3.1

The USB-C connection type’s default protocol is USB 3.1. Theoretically, at 10Gbps, USB 3.1 is twice as fast as USB 3.0. However, the ports for USB 3.1 can still be found in their original, larger shape. Such ports are referred to as ‘USB 3.1 Type-A. Generally, it has become more common to see USB 3.1 ports with USB-C connectors.

How to fix USB-C issues in a Windows 10 computer

Some of the notifications you might encounter when the USB-C connection is not working include the following:

  • You might be able to fix your USB device
  • Slow USB charger connection
  • Display connection might be limited
  • PC isn’t charging
  • The USB device might not work
  • These two devices can’t communicate
  • The USB device might not be working properly
  • Use a different USB port
  • The USB or Thunderbolt device functionality might be limited

Every notification has its solution. Whether you need to fix USB-C compatibility or update your drivers, there’s always something you can do to resolve the issue.

What to do when you see the ‘You might be able to fix your USB device’ error notification

If you see this notification while trying to use a USB-C connection type, there must be something wrong with the device or the drivers on your computer. You can run the troubleshooter for hardware and devices, or you can update your drivers to resolve the problem.

To quickly fix «USB-C is not working on Windows 10» issue, use a safe FREE tool developed by the Auslogics team of experts.
The app contains no malware and is designed specifically for the problem described in this article. Just download and run it on your PC. free download

Developed by Auslogics

Auslogics is a certified Microsoft® Silver Application Developer. Microsoft confirms Auslogics' high expertise in developing quality software that meets the growing demands of PC users.

Running the Hardware and Devices troubleshooter

  1. On your keyboard, press Windows Key+S.
  2. Type “control panel” (no quotes), then hit Enter.
  3. Once Control Panel is up, go to the top-right corner of the window and click the View By option.
  4. Select Large Icons from the options.
  5. Click Troubleshooting.
  6. Go to the left-pane menu, then click View All.
  7. Select Hardware and Devices.
  8. Click Next, then follow the on-screen instructions.

The tool will start to identify issues with your hardware and devices, attempting to repair them.

Using Windows Update to fix the device drivers

  1. Right-click the Windows icon on your taskbar.
  2. Select Settings from the list.
  3. Click Updates & Security.
  4. Go to the left-pane menu and select Windows Update.
  5. Go to the right pane, then click Check for Updates.
  6. Install all the available updates.

Updating your device drivers

It is possible that the device drivers in your computer are corrupted, damaged, or outdated. You can update them to give your unit a fresh set of drivers. There are two ways you can do this—going to the manufacturer’s website or automating the update process, using Auslogics Driver Updater.

It is worth noting that manually updating your drivers can be time-consuming and risky. As we’ve mentioned, you have to search for the compatible drivers on the manufacturer’s website. If you download and install the wrong drivers, you might cause more problems to your computer.

Resolve PC Issues with Driver Updater

Unstable PC performance is often caused by outdated or corrupt drivers. Auslogics Driver Updater diagnoses driver issues and lets you update old drivers all at once or one at a time to get your PC running smoother

Auslogics Driver Updater is a product of Auslogics, certified Microsoft® Silver Application Developer
DOWNLOAD NOW

Drivers Gigabyte Input Devices Drivers

On the other hand, when you automate the process with the help of Auslogics Driver Updater, you are avoiding possible PC damage. The best part is, the tool will take care of all problematic drivers—not just the one which caused the USB-C connection type problem. So, you will notice a significant improvement in your PC’s performance and speed.

Finding the error codes for device issues

It is important to know the error code to address problems with your device appropriately. To acquire the error code, simply follow the steps below:

  1. Right-click the Windows icon on your taskbar.
  2. Select Device Manager from the list.
  3. Right-click the problematic device, then select Properties.
  4. Go to the Device Status dialog box to see the error code.

Drivers Gigabyte Input Devices Free

How to fix slow USB charger connected

When the ‘slow USB charger connected’ notification shows up, there are various possible reasons behind it. Here are some of them:

  • You’re using a charger that is not compatible with your device or computer.
  • Your charger’s power is insufficient for your device or computer. It is worth noting that devices with USB-C connectors have larger power limits. So, charging should be faster with greater levels of power, as long as the device supports USB power delivery.
  • You have not properly connected the charger to the port on your device or computer.
  • The cable’s power capacity is not sufficient for the charger itself, the device, or the computer.
  • Your USB port is dusty or dirty, preventing proper insertion of the charger.
  • You’ve connected the charger to your device or computer through an external dock or hub.

You can fix this problem by using the charger and cable that came with your device. These peripherals are designed according to industry standards. So, they have the right power capacity to speed up charging. On the other hand, you can also check if your charger is properly connected to the USB-C port on your device or computer. If the port is dusty or dirty, you can use compressed air to clean it.

Note: Systems with available USB-C connectors have higher power limits, and they can support up to 5V, 3A, or 15W.

Resolving the ‘Display connection might be limited’ error notification

There are many reasons why you see this error notification. It is possible that the dongle has new features that the cable, device, or PC do not support. You should also check if you’ve connected the dongle to the correct port or through an external dock or hub. On the other hand, it is possible that the other devices with the USB-C connection are interfering with the dongle.

You should know that a USB-C connector has Alternate Modes which you can use for non-USB connectors. These modes are HDMI, DisplayPort, and MHL. So, you can resolve the ‘Display connection might be limited’ error notification by checking if your PC, cable, and external display support the aforementioned alternate modes. You can also try to check if the dongle or device is directly connected to your computer. If it is yet the problem persists, try using a different cable.

Getting rid of the ‘PC isn’t charging’ error notification

This error notification is possibly caused by the following:

  • You’ve used an incompatible charger.
  • You’ve used a charger with lower power limits, preventing it from properly charging your device or computer.
  • You’ve incorrectly connected the charger to the port on your PC.
  • The cable’s power capacity cannot accommodate the charger.
  • The USB ports are dusty or dirty, preventing proper insertion of the charger.
  • You’ve connected the charger through an external hub or dock.

You can fix USB-C compatibility issues by using the charger and cable that came with your device’s or computer’s packaging. You can also use compressed air to clean the ports, enabling you to insert the dongle correctly.

Resolving ‘The USB device might not work’ error

This error notification shows up when the Windows version on your PC does not support the driver for the device you’re trying to connect to the USB-C port. So, the solution to this is to install all the latest updates for your operating system. You can do this by following the instructions below:

  1. Click the Search icon on your taskbar.
  2. Type “settings” (no quotes), then hit Enter.
  3. Select Update & Security.
  4. Click Check for Updates.
  5. Install the available updates.

How to fix ‘These two devices can’t communicate’ error

You will see this error notification will show up when you are having trouble connecting two devices via USB-C. It is possible that one or both of the devices do not support the USB-C connection type. The workaround here is ensuring that you are connecting two Windows computers.

Resolving the error ‘USB device might not be working properly’

If your computer does not support the device you’re trying to connect via USB-C, you will see this error message. It is also possible that the power on your laptop is limited because you’re sourcing it from your battery. In this case, you can try using a different computer, or you can try plugging your device into an external power source.

What to do when you get a ‘Use a different USB port’ prompt

When you get this error notification, it is likely that the USB port does not support Thunderbolt, DisplayPort, or MHL. If this is the case, then you can try using a different port on your PC. It is also possible that the functionality of the USB device had become limited when you connected it to a particular port. You can try plugging it to a different port on your computer to resolve the problem.

Resolving the error ‘USB or Thunderbolt device functionality might be limited’

The reasons behind this error notification are similar to what caused the limited display connection issues. So, you can resolve this by making sure that your PC and cable support the same USB-C features as the device you’re trying to connect. You also have to make sure that the dongle is directly connected to your computer.

Which connection type do you prefer?

Let us know in the comments below!