|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
685dc743 |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
| #
971bac5a |
| 07-Jul-2023 |
Michael <[email protected]> |
kbd: consolidate kb interfaces (phase one)
Refactor to eliminate duplicated rate and delay tables, with minor style tweaks for changed lines. Remove an obsolete comment about needing to convert fro
kbd: consolidate kb interfaces (phase one)
Refactor to eliminate duplicated rate and delay tables, with minor style tweaks for changed lines. Remove an obsolete comment about needing to convert from microseconds to ticks (that's done elsewhere). Remove traiing whitespace in kbdcontrol.c.
Except for the new warning, no change in behavior
Sponsored by: DSS GmbH Reviewed by: imp [minor style tweaks as well] Pull Request: https://github.com/freebsd/pull/683 Differential Revision: https://reviews.freebsd.org/D38818
show more ...
|
| #
b61a5730 |
| 10-May-2023 |
Warner Losh <[email protected]> |
spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD
The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch up to that fact and revert to their recommended match of BS
spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD
The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
|
Revision tags: release/13.2.0 |
|
| #
f2005895 |
| 14-Feb-2023 |
Stefan Eßer <[email protected]> |
sys/kbio.h: make pre-unicode keymap support optional
FreeBSD-9 had introduced support for the full set of Unicode characters to the parsing and processing of keymap character tables.
This support h
sys/kbio.h: make pre-unicode keymap support optional
FreeBSD-9 had introduced support for the full set of Unicode characters to the parsing and processing of keymap character tables.
This support has been extended to cover the table for accented characters that are reached via dead key combinations in FreeBSD-13.2.
New ioctls have been introduced to support both the pre-Unicode and the Unicode formats and keyboard drivers have been extended to support those ioctls.
This commit makes the ABI compatibility functions in the kernel optional and dependent on COMPAT_FREEBSD13 in -CURRENT.
The kbdcontrol command in -CURRENT and 13-STABLE (before 13.2) has been made ABI compatible with old kernels to allow a new world to be run on an old kernel (that does not have full Unicode support for keymaps).
This commit is not to merged back to 12-STABLE or 13-STABLE. It is part of review D38465, which has been split into 3 separate commits due to different MFC and life-time requirements of either commit.
Approved by: imp Differential Revision: https://reviews.freebsd.org/D38465
show more ...
|
| #
4972fb92 |
| 06-Feb-2023 |
Stefan Eßer <[email protected]> |
Support Unicode characters in keymap dead key tables
Support for Unicode characters had been added to the keyboard code, but there are keymaps that have accented characters accessed via dead key com
Support Unicode characters in keymap dead key tables
Support for Unicode characters had been added to the keyboard code, but there are keymaps that have accented characters accessed via dead key combinations, and those were still restricted to 8 bit codes.
This update to kbd.c adds support for Unicode characters and compatibility code that allows a kbdcontrol command built from kbio.h without these patches to work on a new kernel.
Compatibility code that allows a new kbdcontrol binary running on an old kernel to load and display the dead key map will be committed in a separate commit.
Reviewed by: imp, brooks Approved by: brooks MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38381
show more ...
|
|
Revision tags: release/12.4.0 |
|
| #
18308893 |
| 18-Nov-2022 |
Vladimir Kondratyev <[email protected]> |
evdev: Extend EVIOCGRAB ioctl scope to cover kbd interface
of various keyboard drivers. EVIOCGRAB ioctl execution on /dev/input/event# device node gains exclusive access to this device to caller. It
evdev: Extend EVIOCGRAB ioctl scope to cover kbd interface
of various keyboard drivers. EVIOCGRAB ioctl execution on /dev/input/event# device node gains exclusive access to this device to caller. It is used mostly for development purposes and remote control software. See e.g. https://reviews.freebsd.org/D30020 which is the reason of creation of this change. Keyboard grabbing is disabled in KDB and during panics.
MFC with: 4a0db5e2920c Tested by: corvink Differential revision: https://reviews.freebsd.org/D30542
show more ...
|
|
Revision tags: release/13.1.0 |
|
| #
bc9372d7 |
| 06-May-2022 |
John Baldwin <[email protected]> |
usb: Remove unused devclass arguments to DRIVER_MODULE.
|
|
Revision tags: release/12.3.0, release/13.0.0 |
|
| #
032d3153 |
| 13-Feb-2021 |
Vladimir Kondratyev <[email protected]> |
ukbd: Fix handling of keyboard ErrorRollOver reports
Ignore fantom keyboard state reports entirelly rather than ignore RollOver states for each key separatelly. Latter results in spurious release/p
ukbd: Fix handling of keyboard ErrorRollOver reports
Ignore fantom keyboard state reports entirelly rather than ignore RollOver states for each key separatelly. Latter results in spurious release/push pairs of events on each fantom keyboard state report.
Reported by: Jan Martin Mikkelsen <janm_AT_transactionware_DOT_com> Submitted by: Jan Martin Mikkelsen (initial version) PR: 253249 MFC after: 1 week
show more ...
|
| #
b62f6dfa |
| 12-Jan-2021 |
Vladimir Kondratyev <[email protected]> |
hid: Replace USBHID_ENABLED kernel config option with loader tunable
usbhid(4) is disabled by default to avoid conflicts with existing USB HID drivers. To enable it place following lines to /boot/lo
hid: Replace USBHID_ENABLED kernel config option with loader tunable
usbhid(4) is disabled by default to avoid conflicts with existing USB HID drivers. To enable it place following lines to /boot/loader.conf:
hw.usb.usbhid.enable=1 usbhid_load="YES"
Suggested by: jhb Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D28124
show more ...
|
|
Revision tags: release/12.2.0 |
|
| #
01f2e864 |
| 08-Oct-2020 |
Vladimir Kondratyev <[email protected]> |
hid: Import usbhid - USB transport backend for HID subsystem.
This change implements hid_if.m methods for HID-over-USB protocol [1].
Also, this change adds USBHID_ENABLED kernel option which change
hid: Import usbhid - USB transport backend for HID subsystem.
This change implements hid_if.m methods for HID-over-USB protocol [1].
Also, this change adds USBHID_ENABLED kernel option which changes device_probe() priority and adds/removes PnP records to prefer usbhid over ums, ukbd, wmt and other USB HID device drivers and vice-versa.
The module is based on uhid(4) driver. It is disabled by default for now due to conflicts with existing USB HID drivers.
[1] https://www.usb.org/sites/default/files/hid1_11.pdf
Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27893
show more ...
|
| #
eead9017 |
| 01-Jan-2021 |
Vladimir Kondratyev <[email protected]> |
hid: Chase for HID function name changes in existing USB HID drivers
Also hide shim code added in a previous commit under COMPAT_USBHID12.
Note: it is enough to add -DCOMPAT_USBHID12 to CFLAGS to c
hid: Chase for HID function name changes in existing USB HID drivers
Also hide shim code added in a previous commit under COMPAT_USBHID12.
Note: it is enough to add -DCOMPAT_USBHID12 to CFLAGS to compile old code with new HID subsystem, but it is not enough to link it at runtime. HID dependency has to be added explicitly with MODULE_DEPEND macro.
Reviewed by: manu, hselasky (as part of D27887)
show more ...
|
| #
67de2db2 |
| 04-Oct-2020 |
Vladimir Kondratyev <[email protected]> |
Factor-out hardware-independent part of USB HID support to new module
It will be used by the upcoming HID-over-i2C implementation. Should be no-op, except hid.ko module dependency is to be added to
Factor-out hardware-independent part of USB HID support to new module
It will be used by the upcoming HID-over-i2C implementation. Should be no-op, except hid.ko module dependency is to be added to affected drivers.
Reviewed by: hselasky, manu Differential revision: https://reviews.freebsd.org/D27867
show more ...
|
| #
30f34a51 |
| 24-Dec-2020 |
Vladimir Kondratyev <[email protected]> |
ukbd(4): Push LED events in ioctl handler rather than in xfer callback
If LED state is set through evdev interface, than asynchronous nature of USB transfer callback can lead to change of order of e
ukbd(4): Push LED events in ioctl handler rather than in xfer callback
If LED state is set through evdev interface, than asynchronous nature of USB transfer callback can lead to change of order of events echoed back to userland as it causes LED events to be echoed with some lag.
Fix that with echoing of LED events synchronously in ioctl handler.
Reviewed by: hselasky Obtained from: sysutils/iichid MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D27750
show more ...
|
| #
769935a4 |
| 24-Dec-2020 |
Vladimir Kondratyev <[email protected]> |
ukbd(4): Do not serialize evdev key events
Unlike AT keyboards, HID devices are able to send all pc105 key states within a single report. Let evdev to transmit all key state changes within a single
ukbd(4): Do not serialize evdev key events
Unlike AT keyboards, HID devices are able to send all pc105 key states within a single report. Let evdev to transmit all key state changes within a single report too.
Reviewed by: hselasky Obtained from: sysutils/iichid MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D27749
show more ...
|
| #
9dd3156e |
| 01-Sep-2020 |
Mateusz Guzik <[email protected]> |
usb: clean up empty lines in .c and .h files
|
|
Revision tags: release/11.4.0 |
|
| #
8e2e5ae7 |
| 30-Mar-2020 |
Hans Petter Selasky <[email protected]> |
Evaluate modifier keys before the regular keys, so that if a modifier key is pressed at the same time as a regular key, that means key with modifier is output. Some automated USB keyboards like Yubik
Evaluate modifier keys before the regular keys, so that if a modifier key is pressed at the same time as a regular key, that means key with modifier is output. Some automated USB keyboards like Yubikeys need this.
This fixes a regression issue after r357861.
Reported by: Adam McDougall <[email protected]> PR: 224592 PR: 233884 MFC after: 3 days Sponsored by: Mellanox Technologies
show more ...
|
| #
0e5670a9 |
| 04-Mar-2020 |
Hans Petter Selasky <[email protected]> |
Restart the USB keyboard repeat timer at every valid key-press.
This fixes a regression issue after r357861.
Reported by: James Wright <[email protected]> PR: 224592 PR: 233884 MFC afte
Restart the USB keyboard repeat timer at every valid key-press.
This fixes a regression issue after r357861.
Reported by: James Wright <[email protected]> PR: 224592 PR: 233884 MFC after: 3 days Sponsored by: Mellanox Technologies
show more ...
|
| #
0ba49072 |
| 25-Feb-2020 |
Hans Petter Selasky <[email protected]> |
Use hid_get_data_unsigned() instead of hid_get_data() when reading the key-codes from the USB keyboard. Negative key-codes are currently skipped.
While at it use the bit size value provided by the H
Use hid_get_data_unsigned() instead of hid_get_data() when reading the key-codes from the USB keyboard. Negative key-codes are currently skipped.
While at it use the bit size value provided by the HID location structure instead of assuming a value of 8.
This fixes a regression issue after r357861.
Reported by: Minoru TANABE <[email protected]> PR: 224592 PR: 233884 MFC after: 3 days Sponsored by: Mellanox Technologies
show more ...
|
| #
f8d2b1f3 |
| 15-Feb-2020 |
Pawel Biernacki <[email protected]> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (2 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marke
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (2 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes. This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Reviewed by: hselasky, kib Approved by: kib (mentor) Differential Revision: https://reviews.freebsd.org/D23632
show more ...
|
| #
144d6690 |
| 14-Feb-2020 |
Hans Petter Selasky <[email protected]> |
Exclude modifier keys from keyboard repeat logic. This restores USB keyboard driver behaviour prior to r357861.
Requested by: jkim@ MFC after: 1 week Sponsored by: Mellanox Technologies
|
| #
d4028678 |
| 13-Feb-2020 |
Hans Petter Selasky <[email protected]> |
Improve USB gaming keyboard support.
Add support for decoding pressed keys as a bitmap. The keys in the bitmap are described in the interface specific HID descriptor. Some keyboards even have multip
Improve USB gaming keyboard support.
Add support for decoding pressed keys as a bitmap. The keys in the bitmap are described in the interface specific HID descriptor. Some keyboards even have multiple input interfaces, only using the bitmap method when the event array is full. That typically means when more than seven keys are pressed simultaneously.
The internals of the USB keyboard driver have been slightly reworked to keep track of all keys in a single bitmap having 256 bits. This bitmap is then divided into blocks of 64-bits as an optimisation.
Simplify automatic key repeat logic, because only the last key pressed can be repeated.
PR: 224592 PR: 233884 Tested by: Alex V. Petrov <[email protected]> MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
| #
2899979d |
| 26-Dec-2019 |
Kyle Evans <[email protected]> |
Revert r355806: kbd drivers: don't double register keyboard drivers
r356087 made it rather innocuous to double-register built-in keyboard drivers; we now set a flag to indicate that it's been regist
Revert r355806: kbd drivers: don't double register keyboard drivers
r356087 made it rather innocuous to double-register built-in keyboard drivers; we now set a flag to indicate that it's been registered and only act once on a registration anyways. There is no misleading here, as the follow-up kbd_delete_driver will actually remove the driver as needed now that the linker set isn't also consulted after kbdinit.
show more ...
|
| #
5a7a578b |
| 16-Dec-2019 |
Kyle Evans <[email protected]> |
kbd drivers: don't double register keyboard drivers
Keyboard drivers are generally registered via linker set. In these cases, they're also available as kmods which use KPI for registering/unregister
kbd drivers: don't double register keyboard drivers
Keyboard drivers are generally registered via linker set. In these cases, they're also available as kmods which use KPI for registering/unregistering keyboard drivers outside of the linker set.
For built-in modules, we still fire off MOD_LOAD and maybe even MOD_UNLOAD if an error occurs, leading to registration via linker set and at MOD_LOAD time.
This is a minor optimization at best, but it keeps the internal kbd driver tidy as a future change will merge the linker set driver list into its internal keyboard_drivers list via SYSINIT and simplify driver lookup by removing the need to consult the linker set.
show more ...
|
| #
eefc662f |
| 16-Dec-2019 |
Kyle Evans <[email protected]> |
kbd: provide default implementations of get_fkeystr/diag
Most keyboard drivers are using the genkbd implementations as it is; formally use them for any that aren't set and make genkbd_get_fkeystr/ge
kbd: provide default implementations of get_fkeystr/diag
Most keyboard drivers are using the genkbd implementations as it is; formally use them for any that aren't set and make genkbd_get_fkeystr/genkbd_diag private.
show more ...
|
| #
4434de96 |
| 16-Dec-2019 |
Kyle Evans <[email protected]> |
kbd drivers: use kbdd_* indirection for diag invocation
These invocations were directly calling enkbd_diag(), rather than indirection back through kbdd_diag/kbdsw. While they're functionally equiven
kbd drivers: use kbdd_* indirection for diag invocation
These invocations were directly calling enkbd_diag(), rather than indirection back through kbdd_diag/kbdsw. While they're functionally equivent, invoking kbdd_diag where feasible (i.e. not in a diag implementation) makes it easier to visually identify locking needs in these other drivers.
show more ...
|