summaryrefslogtreecommitdiff
path: root/sys/dev/pckbport
AgeCommit message (Collapse)Author
2022-10-28pckbport(4): C99 initializersriastradh
No functional change intended.
2022-09-28synaptics: Lower scale factor to give less sluggish mouse performancenia
on modern displays.
2022-09-17- synaptics_filter_policy no longer generates movements from stale data.mlelstv
- button boundary is now computed consistently. - multi finger operation now works for MULTI_FINGER and MULTI_FINGER_REPORT. Fixes PR kern/56476 and probably kern/56998.
2022-05-31fix various typos in comments, documentation and messages.andvar
2022-04-04Use the original right boundary when calculating the vertical scrollblymn
region so the boundary does not creep left on each subsequent setting. Thanks to Martin@ for the report.
2022-04-01Fix regression introduced when fixing PR kern/56613 and related tweaksblymn
* A trackpad with external buttons needs to mask a number of lower bits of the X and Y coordinates IFF a button is down. This was not being done so a button held down looked like an out of range packet and was therefore dropped. * Now that trackpads are probed for their boundaries make the emulated button boundary settable by a percentage, also allow the right and bottom boundaries to be adjusted by a percentage to allow for horizontal and vertical scroll regions.
2022-03-03Fix for PR kern/56613blymn
* For trackpads that report max and min coordinates, retrieve these and use them as the boundaries instead of the hard coded limits. * Drop packets that are have x/y values that are outside the limits of the trackpad. Some trackpads report a stream of low values in some situations that cause cursor jumping.
2021-12-04synaptics: Fix tracking of extended buttons.nia
- Ensure that packets are processed whenever any button change occurs, instead of just processing packets when there is movement or trackpad finger activity - Only transfer the state of the "extended buttons" to the button masks when actual changes occur OR a button is being held down. With this patch, my middle mouse button no longer gets "stuck down", but proper press/release tracking and dragging behavior is preserved. Thanks to blymn for pointers.
2021-12-03fix various typos in comments, log messages and documentation.andvar
2021-10-21Significant update to the synaptics touchpad driver.blymn
* Accumulate packets for primary, secondary, finger count packets before handing off to pms_synaptics_process_packet. This means that both primary and, possibly, secondary finger locations will be processed at the same time. Previously the processing each packet as it arrived. * Fix the secondary finger position reporting, there was an off by one in the shifts when decoding which effectively halved the reported position. * For a clickpad, make the emulated button region "dead" so that finger movements in this region are ignored. This makes it easier to click a button without accidentally repositioning the cursor. There is a sysctl variable "button_region_movement_enable" that will allow these finger movements to be reported if this is desirable. * Reset the finger ballistics when the number of fingers changes. This stops the annoying position jumps when a second finger touch is added to or removed from the touchpad. * Add a level argument to the DPRINTF macro so one can choose their level of debug spam via the debug sysctl variable.
2021-09-28synaptics: use the new WSCONS_EVENT_(H|V)SCROLL event typesnia
to implement two-finger scrolling. remove non-functional code for detecting reported finger width.
2021-09-22wscons: add definitions for BÉPO, a standardized, Dvorak-style optimizednia
keyboard layout for French
2021-08-07Merge thorpej-cfargs2.thorpej
2021-08-02fix various typos in comments and log messages.andvar
2021-06-30Fix hardcoded size for total_patckets array in synaptics_softc, itblymn
needs to be SYN_MAX_FINGERS because the driver expects it to be.
2021-05-30synaptics(4): New sysctl knob for debug output.riastradh
Set hw.synaptics.debug=1 to re-enable it; the compile-time DIAGNOSTIC option was inappropriate for this.
2021-05-11wscons: add support for the Neo 2 German keyboard layoutnia
Neo is an optimized layout for German and English, similar to Dvorak for English. It can be used to type most Latin-based languages and has separate layers for symbols and directional commands.
2021-04-24Merge thorpej-cfargs branch:thorpej
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments. Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.) Remove unnecessary or redundant interface attributes where they're not needed. There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles) ...and a sentinel value CFARG_EOL. Add some extra sanity checking to ensure that interface attributes aren't ambiguous. Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
2020-10-01synaptics: Emulate scrolling when the middle button is held with TrackPointsnia
idea stolen from various other operating systems. this configurable with a sysctl in case somebody wants to hold the middle button, e.g. with old window managers that close menus when a button is released.
2020-10-01erect a signpost for weary travellersnia
2020-10-01comment was likely true in 2007 but no longer reflects the reality of hwnia
2020-07-13Canadian French keyboard layout for ukbd/pckbdnia
2020-07-13Add keyboard layout for Latin American Spanish to ukbd/pckbdnia
2020-07-12Add Icelandic keyboard layout to ukbd/pckbd.nia
2020-07-12Add Estonian layout as a variation of Swedish for ukbd and pckbdnia
2020-07-12Bring br.nodead closer to X11nia
2020-07-12Add support for the Brazilian keyboard layout to pckbd and ukbd.nia
This is significantly different from the European Portugese layout, and was pieced together from Wikipedia, X11 layout files, and to some extent with trial and error. Thanks to lun-4 for helping test this. PR kern/44570
2020-05-14synaptics: Don't reset the device multiple times in successionnia
Cherrypicked from a patch from an anonymous contributor.
2020-04-28pms_synaptics_enable: no need to send PMS_DEV_ENABLE here becausejmcneill
pms_enable does this for us. Seems to resolve issues with my trackpoint not working immediately after starting X on ThinkPad X260.
2020-04-27Extended buttons are reported separate from touchpad buttons, so trackjmcneill
button press / release state separate from touch events.
2020-03-31synaptics: Maintain the left/right buttons when up/down are remappednia
Reported on current-users by Mandacarú Cascavel
2020-03-27synaptics: Revert changes that broke gestures in cases where they worked.nia
It seems I have to figure out another way to make scrolling work for me.
2020-03-16synaptics: Increase default scale_z for more precise scrollingnia
2020-03-15synaptics: Check for single-finger event jitter in all cases.nia
I now have smooth two-finger scrolling.
2020-03-14synaptics: Detect multiple fingers outside the gesture periodnia
I suspect this code doesn't make any sense if we want two-finger scrolling
2020-03-14synaptics: Automatically scroll when multiple fingers are detectednia
This will mean we automatically get two-finger scrolling on multitouch pads. This works, but the scrolling is janky. Why does it eventually move the mouse cursor (only one finger detected, but two are still there), and why does it jump up slightly?
2020-03-14synaptics: fix syntaxnia
2020-03-14synaptics: Allow the max_speed sysctls to be setnia
2020-03-14synaptics: Set up_down_emulation=3 by default.nia
It's a less surprising default for modern hardware.
2020-03-14synaptics: Make up_down_emulation useful for single-button clickpadsnia
On devices such as the Thinkpad X250, the clickpad can be pressed to generate mouse button events 1 and 2. There are also additional physical buttons which the pms(4) driver recognizes as "up/down" buttons (mouse buttons 3 and 4). Allow these to be remapped to buttons 1 and 2 and used like normal touchpad buttons with the following sysctl: # sysctl -w hw.synaptics.up_down_emulation=3 While here, adjust the existing "middle button emulation" (hw.synaptics.up_down_emulation=1) so it works with single-button clickpads. XXX: 3 may be a more useful default than the current default, depending on hardware availability of touchpads with "up/down buttons". Update the documentation accordingly.
2020-02-25Messages in pms_synaptics_input() should not start with "pms_input"ryoon
Use "pms_synaptics_input" instead for another 2 messages.
2020-02-25Messages in pms_synaptics_input() should not start with "pms_input"ryoon
Use "pms_synaptics_input" instead.
2020-02-25Do not enter extended W mode conditional for non extended W mode deviceryoon
Even without extended W mode, sp_w can be 2. This causes "invalid extended w mode N" warning messages. Restrict extended W mode conditional for hardwares with extended W support. Tested with Synaptics 6.2 device on Panasonic CF-Y8, however it does not work with X.
2020-02-25Remove a trailing tab.ryoon
2020-02-10Introduce hw.alps.touchpad_movement_threshold to better button area clicksryoon
2020-02-10Fix typo in sysctl node nameryoon
2020-01-11Support the combination of KB_SWAPCTRLCAPS and UK layout.nia
2019-11-10in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAITchs
and remove code to handle failures that can no longer happen.
2019-07-23pckbd_cngetc: Set type=0 and return if no data is availablejmcneill
2019-07-22hvkbd requires pckbd_keydesctab in wskbdmap_mfii.c.nakayama