Port-x68k archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Emulate3Buttons support for X68k Xorg server

In article <210205235823.M0106941%mirage.ceres.dti.ne.jp@localhost>,
Izumi Tsutsui  <tsutsui%ceres.dti.ne.jp@localhost> wrote:
>All mice for SHARP X680x0 have only two buttons
>(even the mouse protocol doesn't define a middle buttion).
>Currently the middle button is emulated by the ms(4) driver
>and X68k Xserver doesn't handle "Emulate3Buttons" as the
>xf86-input-mouse driver (or ancient XFree86 servers).
>However the current implementation ms(4) driver just checks
>whether two (left/right) buttons are changed in the same packet.
>This means it cannot handle a release event correctly if two
>buttons pressed simultaneously are released in the different timing.
>I've just ported "Emulate3Buttons" functions from xf86-input-mouse
>driver to our Xorg based monolithic X68k server with various
>refactoring and cleanup (rewrite a magic three-dimensional array
>for a finate state machine with proper named structures etc.
>and separate 3 button emulation functions from other stuff) and
>it workseven on the real slow X68030.
>Now I'd like to remove the middle button handling from ms(4) driver
>and commit the Emulate3Buttons change for the X68k server.
>I guess the only other application that uses NetBSD/x68k's
>native ms(4) protocol (derived from Sun's "Firm_event" interface)
>is mlterm-fb (recently renamed to mlterm-x68kgrp) but I don't think
>it heavily use the middle button so this change could be acceptable.
>The patch is attached and also in the following gist
>(applicable both to HEAD and netbsd-9):
> https://gist.github.com/tsutsui/6ebe82d74b11874b92b167769c312d52
>Note the original xf86-input-mouse driver's Emulate3Buttons
>implementation is here:
> https://gitlab.freedesktop.org/xorg/driver/xf86-input-mouse/-/blob/xf86-input-mouse-1.9.3/src/mouse.c#L1876

I am fine with it, but are you planning to upstream the emulate three buttons
patch to Xorg?



Home | Main Index | Thread Index | Old Index