Go to file
Frank Yang 652f3d00de HID: cypress: Support Varmilo Keyboards' media hotkeys
The Varmilo VA104M Keyboard (04b4:07b1, reported as Varmilo Z104M)
exposes media control hotkeys as a USB HID consumer control device, but
these keys do not work in the current (5.8-rc1) kernel due to the
incorrect HID report descriptor. Fix the problem by modifying the
internal HID report descriptor.

More specifically, the keyboard report descriptor specifies the
logical boundary as 572~10754 (0x023c ~ 0x2a02) while the usage
boundary is specified as 0~10754 (0x00 ~ 0x2a02). This results in an
incorrect interpretation of input reports, causing inputs to be ignored.
By setting the Logical Minimum to zero, we align the logical boundary
with the Usage ID boundary.

Some notes:

* There seem to be multiple variants of the VA104M keyboard. This
  patch specifically targets 04b4:07b1 variant.

* The device works out-of-the-box on Windows platform with the generic
  consumer control device driver (hidserv.inf). This suggests that
  Windows either ignores the Logical Minimum/Logical Maximum or
  interprets the Usage ID assignment differently from the linux
  implementation; Maybe there are other devices out there that only
  works on Windows due to this problem?

Signed-off-by: Frank Yang <puilp0502@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2020-10-23 13:23:44 +02:00
arch dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
block - Improve DM core's bio splitting to use blk_max_size_offset(). Also 2020-10-14 15:05:38 -07:00
certs
crypto
Documentation dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
drivers HID: cypress: Support Varmilo Keyboards' media hotkeys 2020-10-23 13:23:44 +02:00
fs \n 2020-10-15 15:03:10 -07:00
include Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid 2020-10-15 15:09:12 -07:00
init
ipc
kernel dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
lib drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
LICENSES
mm dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
net
samples configfs updates for 5.10 2020-10-15 14:52:45 -07:00
scripts SPDX patches for 5.10-rc1 2020-10-14 16:19:42 -07:00
security Char/Misc driver patches for 5.10-rc1 2020-10-15 10:01:51 -07:00
sound dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
tools Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching 2020-10-15 15:07:57 -07:00
usr
virt
.clang-format memblock: use separate iterators for memory and reserved regions 2020-10-13 18:38:35 -07:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS configfs updates for 5.10 2020-10-15 14:52:45 -07:00
Makefile
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.