On Fri, 4 Sep 2009 09:46:01 -0700 Dima Kogan <dko...@cds.caltech.edu> said:
> Hi Raster. > > I'm not quite as careless as you seem to think. The X patch allows for > both dragging and mousewheel scrolling, depending on the dynamics of > the motion (for details, see the post linked in the original email > below). Dragging, using drawing apps, etc, are still possible. In the > current implementation, mousewheel scrolling is easier to trigger, so > anybody who uses a lot of apps with dragging motions would get mildly > annoyed. As such, I don't consider the X patch ready to go upstream > yet; there really needs to be a switch to disable the new behavior. > > The purpose for this patch is to add finger-scrolling support for > a huge number of applications already out there. I can now scroll my > browser without needing to aim for the scrollbar. If you ask me, > implementing the scrolling-as-dragging behavior on the application > level is silly, and really belongs in the mouse driver. In either case, > the patch to the illume keyboard is fairly innocuous. I don't think > anybody who has a real wheel-mouse attached to their device is likely > to be using a soft keyboard. Thoughts? well - the fact you had to patch illume is an indicator that your x patches are bad. it has affected an app. again - a lot of classes of apps will be affected and no longer work correctly in some or many cases without patches. even with the patch to x - your dragging doesn't resemble/track the actual dragging of the user. ie i drag my finger up 1/2 a screen - does the content also come up 1/2? no. if it does it's a lucky coincidence. it's a hack that is invasive to application behavior. i'm actually doing this stuff with real products and applications cease to work. i'd have to patch a tonne of code. yes - click quick swipe and release (not pause for 200ms) isn't a normal usage pattern for sliding a slider or scrolling. literally it is desired and must drag WITH the finger and even at edges of an area. as i said - games will suffer badly from this. and i can't see your x patches (not accessible) but how do u handle hysteresis for the "hold for 200ms and not move?" does it literally have to not move or move less than X pixels. how are those X pixels set if so? what if screen resolution changes thus input resolution changes? not to mention handling things like cancelling the current click+release "action" when it is "broken" by a drag that is far enough to be considered one other than input jitter. a lot of this needs to be handled at a higher level that x can't. it doesn't know if an area is scrollable or not or it's a game that wants u to drag around to change your view direction and tap to "fire" or whatever. not to mention momentum handling for "swipe". this requires getting coordinates over time to figure out velocity and direction then make it continue. i've been doing this for a while now and i am relatively sure you'll get similar comments from upstream. from other toolkit and application developers too. if it was me upstream i'd be denying the x patch because it is the wrong way to do this. it is invasive to application behavior as in it breaks apps that ACTUALLY are written to handle touchscreens. and trust me there ae ones that are and toolkits are too. those not written to handle it likely will get support at some stage. it thwarts the ability to make things better. for apps to handle a touchscreen properly. it isn't a harmless "support legacy apps and dont affect those trying to do better". when mousewheel support was added to x as buttons 4/5 and so on - this was the case. it's non invasive. apps eventually adapted to it. i remember the days before toolkits and apps supported a mousewheel. i can say from your description at least it will break scrolling behavior in elementary as well as toggles and sliders will not work as well(requiring the pause then drag). instead of patching x - patch the major toolkits. the patch is in the wrong spot :( i know this doesn't make you happy - but there are times i can't say yes. this patch is for behavior that i think is wrong. it complicates the code with logic i don't think will ever be in "real life" use - it adds handling for something i don't see will make it upstream, and i think is being done in the wrong place, thus requires patches and fixes already to apps one way or another to work around the patch side-effects. instead of working around the side-effects with patches - just make the behavior of the other toolkits work with finger dragging. chances are that the other toolkits will get this as a native feature some time in the future anyway, thus obsoleting your patch, and obsoleting the changes to illume's kbd. : ( > dima > > On Fri, 4 Sep 2009 10:57:44 +1000 > Carsten Haitzler (The Rasterman) <ras...@rasterman.com> wrote: > > > On Fri, 10 Jul 2009 09:12:44 -0700 Dima Kogan > > <dko...@cds.caltech.edu> said: > > > > > Hi. > > > > > > I added support for touchscreen scrolling to kdrive and tslib-based > > > X servers. With that patch, screen dragging can generate mousewheel > > > events instead of dragging events. This behavior directly conflicts > > > with those parts of e that try to implement that > > > dragging-as-scrolling functionality in the application instead of > > > in the driver. I'm attaching a patch to support mouse-wheel events > > > in the illume keyboard. For the patch to the xserver (haven't sent > > > it upstream yet), see > > > > > > http://lists.shr-project.org/pipermail/shr-devel/2009-July/000251.html > > > > > > The new behavior is working very well for me, and I think this patch > > > should be included in the tree. > > > > hmm. such a x patch will conflict with every app that: > > > > 1. scrolls with a scrollbar > > 2. scrolls by dragging content > > 3. has a slider of some sort > > 4. drawing apps > > 5. handwriting recognition > > 6. games that use any dragging > > 7. drag and drop > > > > if you ask me... thats a pretty bad idea. it may work for the illume > > kbd, but a tonne of elementary, e itself and other apps and toolkits > > are broken now. why did you do this? it's a bit like throwing a > > nuclear bomb on your city to kill the cockroach under your fridge. :) > > > > -- > > ------------- Codito, ergo sum - "I code, therefore I am" > > -------------- The Rasterman (Carsten Haitzler) > > ras...@rasterman.com > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel