summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/devkbd.c
AgeCommit message (Collapse)Author
2020-04-01devkbd: bits bad! revert repeat/delay, better patches welcomeSigrid
2020-03-28kbd: add "repeat" file to set typematic repeat rate/delay on PS/2 keyboardsSigrid
2015-08-05pc, pc64: remove unused psaux driver, cleanup devkbdcinap_lenrek
the psaux driver is not used in any kernel configuration and theres no userspace mouse daemon. i8042auxcmds() is wrong as access to the user buffer can fault and we are holding an ilocks. little cleanups in devkbd.
2015-08-05devkbd: disable mosue/keyboard on shutdown, disable ps2 mouse on init, ↵cinap_lenrek
remove kbdenable()/kbdinit() on vmware, loading a new kernel sometimes reboots when wiggling the mouse. disabling keyboard and mouse on shutdown fixes the issue. make sure ps2 mouse is disabled on init, will get re-enabled in i8042auxenable(). keyboard isnt special anymore, we can just use the devreset entry point in the device to do the keyboard initialization, so kbdinit()/kbdenable() are not needed anymore.
2015-08-04devkbd: poll pc keyboard before blocking on kbd.qcinap_lenrek
the keyboard stops sending interrupts when its fifo gets full, which can happen on boot when keys get mashed while interrupts are still disabled. to work arround this, call the keyboard interrupt handler when kbd.q is starved before blocking.
2015-04-01devkbd: remove kbdputc() unused definition.cinap_lenrek
2015-04-01devkbd: remove unused constantscinap_lenrek
2014-09-28pc/pc64: fix ps2mouse memory corruption racecinap_lenrek
there was a memory corruption bug caused by us enabling the ps2mouseputc() handler *before* initializing packetsize. once we enabled the handler, mouse interrupts could come in and advance the packet buffer index (nb) beyond the buffer boundaries. as ps2mouseputc() only checked for ++nb == packetsize, once nb was advanced beyond the packetsize, it would continue writing beyond the buffer and corrupt memory with each mouse packet byte. solution is to initialize packetsize *before* enabling the handler, and also do a >= check in ps2mouseputc() in case the packetsize gets changed to a smaller value at runtime.
2014-01-02ps2mouse: disable packet streaming during reprogrammingcinap_lenrek
sometimes, ps2 mouse setup failed on thinkpads during boot. disabling packet streaming while we program the mouse seems to fix the issue.
2013-08-27devkbd: fix wrong refcount on open errorcinap_lenrek
only decrement refcount when file was successfully opend on clunk, fix refcount when devopen() errors.
2012-09-14Qcoalesce patch to satisfy full read lengthcinap_lenrek
2011-05-09devkbd: fix missing devdrirreadcinap_lenrek
2011-05-09kbdfscinap_lenrek