Re: Using shift on external keyboards in softraid passphrases from efiboot
> Date: Sat, 25 Aug 2018 07:53:55 +0900 (JST) > From: YASUOKA Masahiko > > On Fri, 24 Aug 2018 10:55:52 +0200 > Patrick Wildt wrote: > > On Fri, Aug 24, 2018 at 10:47:27AM +0200, Theo Buehler wrote: > >> On Fri, Aug 24, 2018 at 11:50:51AM +0900, YASUOKA Masahiko wrote: > >> > Hi, > >> > > >> > I think the diff should be brought to arm64 as well. ok? > >> > >> ok. But shouldn't armv7 also be kept in sync? > > > > Exactly. > > Thanks, > > ok? ok kettenis@ > Index: sys/arch/arm64/stand/efiboot/efiboot.c > === > RCS file: /cvs/src/sys/arch/arm64/stand/efiboot/efiboot.c,v > retrieving revision 1.20 > diff -u -p -r1.20 efiboot.c > --- sys/arch/arm64/stand/efiboot/efiboot.c23 Aug 2018 15:31:12 - > 1.20 > +++ sys/arch/arm64/stand/efiboot/efiboot.c24 Aug 2018 22:51:21 - > @@ -129,7 +129,7 @@ efi_cons_getc(dev_t dev) > } > > status = conin->ReadKeyStroke(conin, &key); > - while (status == EFI_NOT_READY) { > + while (status == EFI_NOT_READY || key.UnicodeChar == 0) { > if (dev & 0x80) > return (0); > /* > Index: sys/arch/armv7/stand/efiboot/efiboot.c > === > RCS file: /cvs/src/sys/arch/armv7/stand/efiboot/efiboot.c,v > retrieving revision 1.22 > diff -u -p -r1.22 efiboot.c > --- sys/arch/armv7/stand/efiboot/efiboot.c23 Aug 2018 15:31:12 - > 1.22 > +++ sys/arch/armv7/stand/efiboot/efiboot.c24 Aug 2018 22:51:21 - > @@ -126,7 +126,7 @@ efi_cons_getc(dev_t dev) > } > > status = conin->ReadKeyStroke(conin, &key); > - while (status == EFI_NOT_READY) { > + while (status == EFI_NOT_READY || key.UnicodeChar == 0) { > if (dev & 0x80) > return (0); > /* > >
Re: update ifstated parser
Hello, cleaning up my inbox I stumbled over this, it would be handy, still applies and compiles. But... it does not like my config when running "ifstated -n -v -f /etc/ifstated.conf", as opposed to ifstated *before* the patch. part of /etc/ifstated.conf init-state auto wireif = 'em0' waveif = 'iwn0' wire_act = '( "ifconfig wire | grep -q \"status: active$\"" every 10 )' wave_act = '( "ifconfig wlan | grep -q \"status: active$\"" every 10 )' output of "ifstated -n -v -f /etc/ifstated.conf" wireif = "em0" waveif = "iwn0" /etc/ifstated.conf:6: macro '( "ifconfig wire | grep -q \"status: active\' not defined /etc/ifstated.conf:6: syntax error Is there anything I can do apart from learning C? BTW, rob@'s ifstated.conf.5 clarification was commited, thus documentation and reality are aligned. Marcus r...@2keys.ca (Rob Pierce), 2018.03.05 (Mon) 19:55 (CET): > On Mon, Feb 26, 2018 at 05:10:43PM -0600, Michael Graves wrote: > > Hello > > > > I use ifstated(8) to track the state of the the external interface that is > > configured via dhcp and based upon the state, (re)configure a VXLAN > > interface. > > The ifstated.conf currently looks like > > > > === > > exif="em0" > > vxif="vxlan0" > > > > init-state state_down > > > > state state_up { > > init { > > run "ifconfig vlxna0 up" > > } > > if ( "ifconfig em0 | grep -q inet" every 60 ) > > run "sleep 30 && ifconfig vxlan0 tunnel `ifconfig em0 | \ > > sed -nre 's/.*inet ([^ ]+).*/\1/p'` \ > > `dig +short name-of-remote-device`" > > if $exif.link.down > > set-state state_down > > } > > > > state state_down { > > init { > > run "ifconfig vxlan0 down" > > } > > if $exif.link.up > > set-state state_up > > } > > === > > > > The problem I ran into is that when I tried to substitute the vxlan0 and em0 > > entries with exif and vxif in the 'run' statements no macro expansion > > occurred. > > This patch allows macro expansion within the 'run' and 'if' statements. > > > > I appreciate any feedback. > > Regards > > > Index: parse.y > > === > > RCS file: /cvs/src/usr.sbin/ifstated/parse.y,v > > retrieving revision 1.47 > > diff -u -p -r1.47 parse.y > > --- parse.y 21 Aug 2017 17:38:55 - 1.47 > > +++ parse.y 26 Feb 2018 22:47:11 - > > @@ -509,9 +509,10 @@ int > > yylex(void) > > { > > u_char buf[8096]; > > - u_char *p, *val; > > + u_char *p, *p1, *val; > > int quotec, next, c; > > int token; > > + size_t x; > > > > top: > > p = buf; > > @@ -575,6 +576,35 @@ top: > > } else if (c == '\0') { > > yyerror("syntax error"); > > return (findeol()); > > + } else if (c == '$') { > > + p1 = p; > > + while (1) { > > + if ((c = lgetc(0)) == EOF) > > + return (0); > > + if (p1 + 1 >= buf + sizeof(buf) - 1) { > > + yyerror("string too long"); > > + return (findeol()); > > + } > > + if (isalnum(c) || c == '_') { > > + *p1++ = c; > > + continue; > > + } > > + *p1 = '\0'; > > + lungetc(c); > > + break; > > + } > > + val = symget(p); > > + if (val == NULL) { > > + yyerror("macro '%s' not defined", buf); > > + return (findeol()); > > + } > > + x = strlcpy(p,val,(buf-p)); > > + if (x >= (buf-p)) { > > + yyerror("string too long"); > > + return (findeol()); > > + } > > + p += x; > > + continue; > > } > > if (p + 1 >= buf + sizeof(buf) - 1) { > > yyerror("string too long"); > > Hey Michael, > > Thank you for your email. I have been playing with your diff and will send you > some comments shortly. This might be worth future consideration. > > For now, I think we should update the man page to clearly state that macro > expansion does not take place inside quotes as is currently done in the other > man pages. > > Ok? > > Index: ifstated.conf.5 > === > RCS file: /cvs/src/usr.sbin/ifstated/ifstated.conf.5,v
Claiming framebuffers
The last issue that keeps me from enabling radeondrm(4) on arm64 is that I need to prevent simplefb(4) and radeondrm(4) from fighting over te same framebuffer. We already have an ad-hoc solution for efifb(4) on amd64. But I don't think adding yet another MD-specific mechanism is the way to go. So here is a diff that adds two new rasops(4) functions: - rasops_claim_framebuffer() Claims control of the framebuffer address space. The framebuffer address space is specified as a physical address as viewed from the CPU. So before claiming an address range, drivers should do the appropriate translation, for example by calling bus_space_mmap(). - rasops_check_framebuffer() Checks whether the framebuffer with the specified address has already been claimed by another driver. The idea is that a "dumb" framebuffer driver like simplefb(4) or efifb(4) will call rasops_check_framebuffer() in its match function and return 0 if the framebuffer has already been claimed. This interface does not yet handle the case where the framebuffer device is the console device and we want to reattach the "dumb" driver because the preferred driver can't attach because it can't load its firmware. That needs a bit more thought still. ok? Index: dev/pci/drm/radeon/radeon_kms.c === RCS file: /cvs/src/sys/dev/pci/drm/radeon/radeon_kms.c,v retrieving revision 1.57 diff -u -p -r1.57 radeon_kms.c --- dev/pci/drm/radeon/radeon_kms.c 24 Aug 2018 05:21:48 - 1.57 +++ dev/pci/drm/radeon/radeon_kms.c 25 Aug 2018 13:39:20 - @@ -435,6 +435,7 @@ radeondrm_attach_kms(struct device *pare pcireg_t type; int i; uint8_t rmmio_bar; + paddr_t fb_aper; #if !defined(__sparc64__) pcireg_t addr, mask; int s; @@ -659,6 +660,10 @@ radeondrm_attach_kms(struct device *pare fbwscons_console_init(&rdev->sf, -1); } #endif + + fb_aper = bus_space_mmap(rdev->memt, rdev->fb_aper_offset, 0, 0, 0); + if (fb_aper != -1) + rasops_claim_framebuffer(fb_aper, rdev->fb_aper_size, self); rdev->shutdown = true; config_mountroot(self, radeondrm_attachhook); Index: dev/fdt/simplefb.c === RCS file: /cvs/src/sys/dev/fdt/simplefb.c,v retrieving revision 1.4 diff -u -p -r1.4 simplefb.c --- dev/fdt/simplefb.c 31 Jul 2018 17:25:55 - 1.4 +++ dev/fdt/simplefb.c 25 Aug 2018 13:39:20 - @@ -110,6 +110,10 @@ simplefb_match(struct device *parent, vo { struct fdt_attach_args *faa = aux; + /* Don't attach if another driver already claimed our framebuffer. */ + if (faa->fa_nreg > 0 && rasops_check_framebuffer(faa->fa_reg[0].addr)) + return 0; + return OF_is_compatible(faa->fa_node, "simple-framebuffer"); } Index: dev/rasops/rasops.c === RCS file: /cvs/src/sys/dev/rasops/rasops.c,v retrieving revision 1.55 diff -u -p -r1.55 rasops.c --- dev/rasops/rasops.c 25 Aug 2018 12:23:45 - 1.55 +++ dev/rasops/rasops.c 25 Aug 2018 13:39:20 - @@ -1968,3 +1968,39 @@ rasops_scrollback(void *v, void *cookie, if (scr->rs_crow != -1 && scr->rs_visibleoffset == scr->rs_dispoffset) rasops_cursor(ri, 1, scr->rs_crow, scr->rs_ccol); } + +struct rasops_framebuffer { + SLIST_ENTRY(rasops_framebuffer) rf_list; + paddr_t rf_base; + psize_t rf_size; + struct device *rf_dev; +}; + +SLIST_HEAD(, rasops_framebuffer) rasops_framebuffers = +SLIST_HEAD_INITIALIZER(&rasops_framebuffers); + +void +rasops_claim_framebuffer(paddr_t base, psize_t size, struct device *dev) +{ + struct rasops_framebuffer *rf; + + rf = malloc(sizeof(*rf), M_DEVBUF, M_WAITOK); + rf->rf_base = base; + rf->rf_size = size; + rf->rf_dev = dev; + + SLIST_INSERT_HEAD(&rasops_framebuffers, rf, rf_list); +} + +int +rasops_check_framebuffer(paddr_t base) +{ + struct rasops_framebuffer *rf; + + SLIST_FOREACH(rf, &rasops_framebuffers, rf_list) { + if (base >= rf->rf_base && base < rf->rf_base + rf->rf_size) + return 1; + } + + return 0; +} Index: dev/rasops/rasops.h === RCS file: /cvs/src/sys/dev/rasops/rasops.h,v retrieving revision 1.22 diff -u -p -r1.22 rasops.h --- dev/rasops/rasops.h 27 Apr 2018 21:36:12 - 1.22 +++ dev/rasops/rasops.h 25 Aug 2018 13:39:20 - @@ -179,6 +179,8 @@ int rasops_load_font(void *, void *, str intrasops_list_font(void *, struct wsdisplay_font *); intrasops_getchar(void *, int, int, struct wsdisplay_charcell *); void rasops_scrollback(void *, void *, int); +void rasops_
Speed up UEFI framebuffer console
Here is a diff to speed up the initial framebuffer console on amd64. It remaps the framebuffer write-combining early on, which speeds up writing to the framebuffer considerably. Remapping is done using _bus_space_map(). Otherwise inteldrm(4) and radeondrm(4) will fail to attach (or even panic) because the graphics aperture can't be mapped. This mapping stays around even if efifb(4) doesn't attach. There is no good place to unmap it without risking some random kernel printf causing a fault. The rasops(4) bit is a bugfix that probably should go in regardless. It makes sure we don't clear the character mapping if the RI_CLEAR flag isn't set. Can somebody with a UEFI machine that has radeondrm(4) test this for me? Index: arch/amd64/amd64/efifb.c === RCS file: /cvs/src/sys/arch/amd64/amd64/efifb.c,v retrieving revision 1.17 diff -u -p -r1.17 efifb.c --- arch/amd64/amd64/efifb.c12 Jul 2018 12:47:57 - 1.17 +++ arch/amd64/amd64/efifb.c25 Aug 2018 15:27:43 - @@ -215,11 +215,6 @@ efifb_attach(struct device *parent, stru ccol = ri->ri_ccol; crow = ri->ri_crow; - if (bus_space_map(iot, fb->paddr, fb->psize, - BUS_SPACE_MAP_PREFETCHABLE | BUS_SPACE_MAP_LINEAR, - &ioh) == 0) - ri->ri_origbits = bus_space_vaddr(iot, ioh); - efifb_rasops_preinit(fb); ri->ri_flg &= ~RI_CLEAR; ri->ri_flg |= RI_VCONS | RI_WRONLY; @@ -428,6 +423,7 @@ efifb_efiinfo_init(struct efifb *fb) fb->psize = bios_efiinfo->fb_height * bios_efiinfo->fb_pixpsl * (fb->depth / 8); } + void efifb_cnattach_common(void) { @@ -450,6 +446,28 @@ efifb_cnattach_common(void) ri->ri_ops.alloc_attr(ri, 0, 0, 0, &defattr); wsdisplay_cnattach(&efifb_std_descr, ri, 0, 0, defattr); +} + +void +efifb_cnremap(void) +{ + struct efifb*fb = &efifb_console; + struct rasops_info *ri = &fb->rinfo; + bus_space_tag_t iot = X86_BUS_SPACE_MEM; + bus_space_handle_t ioh; + + if (fb->paddr == 0) + return; + + if (_bus_space_map(iot, fb->paddr, fb->psize, + BUS_SPACE_MAP_PREFETCHABLE | BUS_SPACE_MAP_LINEAR, &ioh) == 0) + ri->ri_origbits = bus_space_vaddr(iot, ioh); + + efifb_rasops_preinit(fb); + ri->ri_flg &= ~RI_CLEAR; + ri->ri_flg |= RI_CENTER | RI_WRONLY; + + rasops_init(ri, efifb_std_descr.nrows, efifb_std_descr.ncols); } int Index: arch/amd64/amd64/mainbus.c === RCS file: /cvs/src/sys/arch/amd64/amd64/mainbus.c,v retrieving revision 1.44 diff -u -p -r1.44 mainbus.c --- arch/amd64/amd64/mainbus.c 13 Jul 2018 08:30:34 - 1.44 +++ arch/amd64/amd64/mainbus.c 25 Aug 2018 15:27:43 - @@ -171,6 +171,10 @@ mainbus_attach(struct device *parent, st pvbus_identify(); #endif +#if NEFIFB > 0 + efifb_cnremap(); +#endif + #if NBIOS > 0 { mba.mba_bios.ba_name = "bios"; Index: arch/amd64/include/efifbvar.h === RCS file: /cvs/src/sys/arch/amd64/include/efifbvar.h,v retrieving revision 1.7 diff -u -p -r1.7 efifbvar.h --- arch/amd64/include/efifbvar.h 25 Apr 2018 00:46:28 - 1.7 +++ arch/amd64/include/efifbvar.h 25 Aug 2018 15:27:43 - @@ -26,6 +26,7 @@ struct efifb_attach_args { struct pci_attach_args; int efifb_cnattach(void); +void efifb_cnremap(void); int efifb_is_console(struct pci_attach_args *); void efifb_cndetach(void); void efifb_cnreattach(void); Index: dev/rasops/rasops.c === RCS file: /cvs/src/sys/dev/rasops/rasops.c,v retrieving revision 1.54 diff -u -p -r1.54 rasops.c --- dev/rasops/rasops.c 3 May 2018 10:05:47 - 1.54 +++ dev/rasops/rasops.c 25 Aug 2018 15:27:43 - @@ -288,10 +288,12 @@ rasops_init(struct rasops_info *ri, int ri->ri_ops.copyrows = rasops_wronly_copyrows; ri->ri_ops.eraserows = rasops_wronly_eraserows; - ri->ri_alloc_attr(ri, 0, 0, 0, &attr); - for (i = 0; i < ri->ri_rows * ri->ri_cols; i++) { - ri->ri_bs[i].uc = ' '; - ri->ri_bs[i].attr = attr; + if (ri->ri_flg & RI_CLEAR) { + ri->ri_alloc_attr(ri, 0, 0, 0, &attr); + for (i = 0; i < ri->ri_rows * ri->ri_cols; i++) { + ri->ri_bs[i].uc = ' '; + ri->ri_bs[i].attr = attr; + } } }
ENA support
Hi, just a question: anyone tried/consider porting ENA (Elastic Network Adapter) support to OpenBSD (https://github.com/amzn/amzn-drivers/tree/master/kernel/fbsd/ena), how hard would be to get it to obsd? _ Zbyszek Żółkiewski
umt(4)
For USB-connected Windows Precision Touchpad devices, just like imt(4) is for i2c. Also renames HIDMT_INPUT_MODE_MT to HIDMT_INPUT_MODE_MT_TOUCHPAD since there is a different value for touchscreens (not yet used). Index: sys/arch/amd64/conf/GENERIC === RCS file: /cvs/src/sys/arch/amd64/conf/GENERIC,v retrieving revision 1.460 diff -u -p -u -p -r1.460 GENERIC --- sys/arch/amd64/conf/GENERIC 22 Aug 2018 15:38:46 - 1.460 +++ sys/arch/amd64/conf/GENERIC 25 Aug 2018 18:39:09 - @@ -257,6 +257,8 @@ wsmouse* at ubcmtp? mux 0 uhidev*at uhub?# Human Interface Devices ums* at uhidev? # USB mouse wsmouse* at ums? mux 0 +umt* at uhidev? # Multitouch touchpad +wsmouse* at umt? mux 0 uts* at uhub?# USB touchscreen wsmouse* at uts? mux 0 uwacom*at uhidev? # USB Wacom tablet Index: share/man/man4/Makefile === RCS file: /cvs/src/share/man/man4/Makefile,v retrieving revision 1.690 diff -u -p -u -p -r1.690 Makefile --- share/man/man4/Makefile 19 Aug 2018 11:42:33 - 1.690 +++ share/man/man4/Makefile 25 Aug 2018 18:39:09 - @@ -75,8 +75,8 @@ MAN= aac.4 ac97.4 acphy.4 acrtc.4 \ uftdi.4 ugen.4 ugl.4 ugold.4 uguru.4 uhci.4 uhid.4 uhidev.4 uipaq.4 \ uk.4 ukbd.4 \ ukphy.4 ulpt.4 umass.4 umb.4 umbg.4 umcs.4 umct.4 umidi.4 umodem.4 \ - ums.4 umsm.4 unix.4 uonerng.4 uow.4 uoaklux.4 uoakrh.4 uoakv.4 upd.4 \ - upgt.4 upl.4 uplcom.4 ural.4 ure.4 url.4 urlphy.4 \ + ums.4 umsm.4 umt.4 unix.4 uonerng.4 uow.4 uoaklux.4 uoakrh.4 uoakv.4 \ + upd.4 upgt.4 upl.4 uplcom.4 ural.4 ure.4 url.4 urlphy.4 \ urndis.4 urng.4 urtw.4 urtwn.4 usb.4 uscom.4 uslcom.4 usps.4 \ uthum.4 uticom.4 utpms.4 utwitch.4 utrh.4 uts.4 utvfu.4 uvideo.4 \ uvisor.4 uvscom.4 uwacom.4 \ Index: share/man/man4/uhidev.4 === RCS file: /cvs/src/share/man/man4/uhidev.4,v retrieving revision 1.9 diff -u -p -u -p -r1.9 uhidev.4 --- share/man/man4/uhidev.4 12 Sep 2016 08:12:06 - 1.9 +++ share/man/man4/uhidev.4 25 Aug 2018 18:39:09 - @@ -42,6 +42,7 @@ .Cd "uhid*at uhidev?" .Cd "ukbd*at uhidev?" .Cd "ums* at uhidev?" +.Cd "umt* at uhidev?" .Cd "uoaklux* at uhidev?" .Cd "uoakrh* at uhidev?" .Cd "uoakv* at uhidev?" @@ -73,6 +74,7 @@ only dispatches data to them based on th .Xr uhid 4 , .Xr ukbd 4 , .Xr ums 4 , +.Xr umt 4 , .Xr uoaklux 4 , .Xr uoakrh 4 , .Xr uoakv 4 , Index: share/man/man4/umt.4 === RCS file: share/man/man4/umt.4 diff -N share/man/man4/umt.4 --- /dev/null 1 Jan 1970 00:00:00 - +++ share/man/man4/umt.425 Aug 2018 18:39:10 - @@ -0,0 +1,47 @@ +.\"$OpenBSD$ +.\" +.\" Copyright (c) 2016-2018 joshua stein +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate$ +.Dt UMT 4 +.Os +.Sh NAME +.Nm umt +.Nd USB HID multitouch touchpad support +.Sh SYNOPSIS +.Cd "umt* at uhidev?" +.Cd "wsmouse* at umt? mux 0" +.Sh DESCRIPTION +The +.Nm +driver provides support for USB HID touchpads conforming to the +Windows Precision Touchpad standard. +Access to these devices is through the +.Xr wscons 4 +driver. +.Sh SEE ALSO +.Xr uhidev 4 , +.Xr ums 4 , +.Xr wsmouse 4 +.Sh HISTORY +The +.Nm +device driver first appeared in +.Ox 6.4 . +.Sh AUTHORS +The +.Nm +driver was written by +.An joshua stein Aq Mt j...@openbsd.org . Index: share/man/man4/usb.4 === RCS file: /cvs/src/share/man/man4/usb.4,v retrieving revision 1.188 diff -u -p -u -p -r1.188 usb.4 --- share/man/man4/usb.43 Aug 2018 01:50:14 - 1.188 +++ share/man/man4/usb.425 Aug 2018 18:39:10 - @@ -248,6 +248,8 @@ Base driver for all Human Interface Devi USB keyboards that follow the boot protocol .It Xr ums 4 USB HID mouse, touchscreen and digitiser devices +.It Xr umt 4 +USB HID touchpad devices .It Xr uoaklux 4 Toradex OAK USB illuminance sensor .It Xr uoakrh 4 Index: sys/dev/hid/hidmt.c ==
Re: umt(4)
On Sat, Aug 25, 2018 at 01:41:40PM -0500, joshua stein wrote: > For USB-connected Windows Precision Touchpad devices, just like > imt(4) is for i2c. > > Also renames HIDMT_INPUT_MODE_MT to HIDMT_INPUT_MODE_MT_TOUCHPAD > since there is a different value for touchscreens (not yet used). > ok for the man stuff, but please keep the description in the Nd line and the entry in usb(4) exactly the same. jmc > > Index: sys/arch/amd64/conf/GENERIC > === > RCS file: /cvs/src/sys/arch/amd64/conf/GENERIC,v > retrieving revision 1.460 > diff -u -p -u -p -r1.460 GENERIC > --- sys/arch/amd64/conf/GENERIC 22 Aug 2018 15:38:46 - 1.460 > +++ sys/arch/amd64/conf/GENERIC 25 Aug 2018 18:39:09 - > @@ -257,6 +257,8 @@ wsmouse* at ubcmtp? mux 0 > uhidev* at uhub?# Human Interface Devices > ums* at uhidev? # USB mouse > wsmouse* at ums? mux 0 > +umt* at uhidev? # Multitouch touchpad > +wsmouse* at umt? mux 0 > uts* at uhub?# USB touchscreen > wsmouse* at uts? mux 0 > uwacom* at uhidev? # USB Wacom tablet > Index: share/man/man4/Makefile > === > RCS file: /cvs/src/share/man/man4/Makefile,v > retrieving revision 1.690 > diff -u -p -u -p -r1.690 Makefile > --- share/man/man4/Makefile 19 Aug 2018 11:42:33 - 1.690 > +++ share/man/man4/Makefile 25 Aug 2018 18:39:09 - > @@ -75,8 +75,8 @@ MAN=aac.4 ac97.4 acphy.4 acrtc.4 \ > uftdi.4 ugen.4 ugl.4 ugold.4 uguru.4 uhci.4 uhid.4 uhidev.4 uipaq.4 \ > uk.4 ukbd.4 \ > ukphy.4 ulpt.4 umass.4 umb.4 umbg.4 umcs.4 umct.4 umidi.4 umodem.4 \ > - ums.4 umsm.4 unix.4 uonerng.4 uow.4 uoaklux.4 uoakrh.4 uoakv.4 upd.4 \ > - upgt.4 upl.4 uplcom.4 ural.4 ure.4 url.4 urlphy.4 \ > + ums.4 umsm.4 umt.4 unix.4 uonerng.4 uow.4 uoaklux.4 uoakrh.4 uoakv.4 \ > + upd.4 upgt.4 upl.4 uplcom.4 ural.4 ure.4 url.4 urlphy.4 \ > urndis.4 urng.4 urtw.4 urtwn.4 usb.4 uscom.4 uslcom.4 usps.4 \ > uthum.4 uticom.4 utpms.4 utwitch.4 utrh.4 uts.4 utvfu.4 uvideo.4 \ > uvisor.4 uvscom.4 uwacom.4 \ > Index: share/man/man4/uhidev.4 > === > RCS file: /cvs/src/share/man/man4/uhidev.4,v > retrieving revision 1.9 > diff -u -p -u -p -r1.9 uhidev.4 > --- share/man/man4/uhidev.4 12 Sep 2016 08:12:06 - 1.9 > +++ share/man/man4/uhidev.4 25 Aug 2018 18:39:09 - > @@ -42,6 +42,7 @@ > .Cd "uhid*at uhidev?" > .Cd "ukbd*at uhidev?" > .Cd "ums* at uhidev?" > +.Cd "umt* at uhidev?" > .Cd "uoaklux* at uhidev?" > .Cd "uoakrh* at uhidev?" > .Cd "uoakv* at uhidev?" > @@ -73,6 +74,7 @@ only dispatches data to them based on th > .Xr uhid 4 , > .Xr ukbd 4 , > .Xr ums 4 , > +.Xr umt 4 , > .Xr uoaklux 4 , > .Xr uoakrh 4 , > .Xr uoakv 4 , > Index: share/man/man4/umt.4 > === > RCS file: share/man/man4/umt.4 > diff -N share/man/man4/umt.4 > --- /dev/null 1 Jan 1970 00:00:00 - > +++ share/man/man4/umt.4 25 Aug 2018 18:39:10 - > @@ -0,0 +1,47 @@ > +.\" $OpenBSD$ > +.\" > +.\" Copyright (c) 2016-2018 joshua stein > +.\" > +.\" Permission to use, copy, modify, and distribute this software for any > +.\" purpose with or without fee is hereby granted, provided that the above > +.\" copyright notice and this permission notice appear in all copies. > +.\" > +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES > +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF > +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR > +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES > +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN > +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF > +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. > +.\" > +.Dd $Mdocdate$ > +.Dt UMT 4 > +.Os > +.Sh NAME > +.Nm umt > +.Nd USB HID multitouch touchpad support > +.Sh SYNOPSIS > +.Cd "umt* at uhidev?" > +.Cd "wsmouse* at umt? mux 0" > +.Sh DESCRIPTION > +The > +.Nm > +driver provides support for USB HID touchpads conforming to the > +Windows Precision Touchpad standard. > +Access to these devices is through the > +.Xr wscons 4 > +driver. > +.Sh SEE ALSO > +.Xr uhidev 4 , > +.Xr ums 4 , > +.Xr wsmouse 4 > +.Sh HISTORY > +The > +.Nm > +device driver first appeared in > +.Ox 6.4 . > +.Sh AUTHORS > +The > +.Nm > +driver was written by > +.An joshua stein Aq Mt j...@openbsd.org . > Index: share/man/man4/usb.4 > === > RCS file: /cvs/src/share/man/man4/usb.4,v > retrieving revision 1.188 > diff -u -p -u -p -r1.188 usb.4 > --- share/man/man4/usb.4 3 Aug 2018 01:50:14 -