in PR kern/17506):
If we reset the mouse and discover a different protocol after the reset
than before, reset it again after one second. This makes protocol detection
after a KVA switched to another machine more reliable and should not affect
the standard situation with one mouse connected to one machine.
probing.
Make sure to not initialize the protocol more than once, see rev. 1.11 of
the old psm_intelli.c driver (this caused hangs when starting X).
Unify the "ignore garbage" behaviour (which we already did if PMS_STANDARD
protocol was used), the old intelli-driver did the same and on some scroll
mice a stream of garbage is emitted shortly after reset.
two packets (just like the old psm.c driver did). And don't insist on the
first byte having bit 0x08 set.
This makes some odd trackball device work.
Thanks to Tyler Mitchell for reporting and testing.
Restore the reset thread, to make resetting the interface possible while
not blocking interrupts.
Make sure to throw away garbage input while the reset thread is at work
(by setting sc_enabled a bit later).
Issue a PMS_RESET command when resetting to address PR 16788.
eliminate the kthread now that it's not necessary, and use callout instead.
This seems to fix the X mouse freeze problem.
Testing and some debug printf fixes by Martin Husemann.
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
that time will have bad results, such as queue corruption because
of multiple TAILQ_INSERTs, etc, because it's not designed to work
in an interrupt/context-free environment. Use pckbc_poll_cmd instead.
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@
recently.
I HOPE to get the list right. The headers I left in are ones
used for MI tools and those whose usage I discovered by grep over tree sources.
Feel free to put needed includes back in if you encounter anything which
should not be removed from lists.
backlight, brightness and contrast.
- Add 9 command key symbols which make wskbd to call wsdisplay's
iocontrol.
- Add special key map variant KB_MACHDEP. This variant does not
have any real keymap but it's just a placeholder for machine dependent
maps which will be overwrite by machine dependent keyboard driver.
from devices connected to pckbc:
- Do actual sample collection in pckbc.
- Add rndsource_element_t to the slot data.
- Change pckbc_set_inputhandler() to take an additional argument,
the name of the device, which is (eventually) passed into
rnd_attach_source() to identify the source.
- Change callers of pckbc_set_inputhander() appropriately.
a call to hook up a bell-ringer (since the keyboard itself has no bell).
This eliminates the need for #ifdefs for the bell-ringer in the pckbd
driver.
- Add cnbell() support to pckbd.
- Wsmouse_input() get new argument 'flag', which indicates whether x/y/z are
relative or absolute.
- Wsmouse get new io controls, WSMOUSEIO_SCALIBCOORDS and
WSMOUSEIO_GCALIBCOORDS.
before the elimination of typematic events.
This fixes the case where the "extended" prefix was not ignored and
affected the next keystroke. (seen with the AltGr key)