aboutsummaryrefslogtreecommitdiff
path: root/src/evdev_axes.c
Commit message (Collapse)AuthorAge
* Clear EV_ABS_V_USE_TOUCH for devices without a touch buttonVinay Bondhugula2008-01-29
| | | | | | | VMware's absolute pointing device does not have a pressure/touch button. Although evdev correctly recognizes this, it sets "use_touch" for X and Y axes regardless of the touch button. This patch clears the USE_TOUCH flag for the X and Y axes if the device does not have a touch button.
* Move the mode option handling to the Init stage.Zephaniah E. Hull2007-06-12
| | | | (Sorta ugly placement wise, but the other segfaults.)
* evdev.c:Zephaniah E. Hull2007-06-11
| | | | | | | | | | | | | | | | | | | | | Set and use the X mode control, letting XInput see it properly. Kill some cruft. evdev.h: Set and use the X mode control, letting XInput see it properly. evdev_axes.c: Set and use the X mode control, letting XInput see it properly. evdev_key.c: Remove some cruft, the bell func can be NULL now, so do so. Don't bother looking for keys above 0xF7 until we can actually do something with them.
* Wheel mice work again!Zephaniah E. Hull2007-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Old configs don't.) evdev.c: Add EvdevParseMapToButton and EvdevParseMapToButtons to evdev_map_parsers. Add EvdevParseMapOption to search through evdev_map_parsers. Fix up EvdevTokenize to handle the evdev_option_token_t changes. EvdevAxesNew0 after BtnNew0 instead of before now. (This isn't the right fix.) evdev.h: EVDEV_MAXBUTTONS -> BTN_MAX. Redid evdevBtnRec with the new mapping goodness. Removed v_min and v_max from evdevAbsRec. Reworked evdev_option_token_t, no union, no is_chain. If it's a chain, it still has a string, but the chain pointer is set. EvdevParseMapToButton, EvdevParseMapToButtons, and EvdevParseMapOption. evdev_axes.c: Kill off EvdevAxesMapButton, a variant lives in evdev_btn.c now. Changes for the evdev_option_token_t changes. Use EvdevParseMapOption instead of repeating the contents twice. Disable EV_ABS_V_INVERT for the moment. (Better fix maybe needed.) evdev_btn.c: s/Ptr /Rec */g EvdevMapButton and parser. EvdevMapButtons and parser. Nuke EvdevBtnCalcRemap as a whole. Move everything but the alloc to New1 from New0. New mapping code, same guts os the axes mapping code even.
* Fix REL mode.Zephaniah E. Hull2007-06-05
| | | | | | Make buttons mostly work again. (Short term fix.) NOTE: Wheel to button remapping is still missing!
* Update the copyright notices for me to include 2007.Zephaniah E. Hull2007-06-05
| | | | Finish merging copyright notices. (evdev_key.c was missed.)
* Alright, this is a really big commit that breaks stuff.Zephaniah E. Hull2007-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | evdev.h: Switch to flags in the abs and rel structs. Add the axes struct, and defines. Rework the abs and rel structs, moving stuff to the axes struct and moving everything to the new mapping handling. Add the structs and function declarations for the new tokenization stuff, parsing stuff, and mapping stuff. evdev.c: Add EvdevTokenize, and the evdev_map_parsers list. evdev_axes.c: Basicly a full rewrite, big, messy. We now use a completely different mapping setup for axes, and mapping to buttons is currently missing. However we now handle ABS_CALIB and ABS_AREA, including rotation in both rel and abs modes. evdev_btn.c: Disable lots of code and break things horribly, we compile but we don't work very well. Fixing this is next on my todo list.
* Fix pointer crossing screen bug. Possibly the others input drivers must updateTiago Vignatti2007-02-14
| | | | this on the same manner.
* Stop caching the screen size for scaling.Philip Langdale2007-02-10
| | | | | | Do be able to correctly scale absolute inputs, the actual screen size must be used as this changes when the screen resizes.
* support new DIX motion history APIDaniel Stone2006-10-25
| | | | Use the DIX motion history if we have ABI version 1 or higher.
* Make some debugging messages optional.Zephaniah E. Hull2006-10-02
| | | | | Correctly handle emulating relative mode from absolute data in the case where we do not get X and Y data at the same time on touching.
* Fix compilation.Zephaniah E. Hull2006-09-10
|
* Replace the old two buffer approach to handling rel emulation of abs axes,Zephaniah E. Hull2006-07-23
| | | | should help with some of the reported jitter problems.
* Move the axis to button map code back into the rel code.Zephaniah E. Hull2006-07-19
| | | | This might solve some problems, but should at least prevent some odd behavior.
* Split the New functions so that structs can be allocated and buttonsZephaniah E. Hull2006-07-13
| | | | | | | | | | | | | | | | | | | | | | detected, and then stuff that depends on _other_ areas. (Specificly, axes and btn have a circular dependency on which one has to run first, this solves that.) Add button names, and a way to get a button number from a name. Add a function for checking to see if a button exists, takes the number from the previous function. Change the (unused) state array of pointers in the button struct to an array of pointers to functions for callback. Implemented the 'touch' feature, on by default if BTN_DIGI_TOUCH exists, won't, in rel mode, process x/y data unless it's down, and is used to try and make 'pick up stencil, move to other side of digitizer, set back down' not jump to the other side of the screen in rel mode. (This doesn't work as well as it could, but I'm fairly sure that it's due to the quality of the absolute input device I'm using, but feedback would be really nice.) FIXME: Update the manpage for this.
* Fix an obvious bogon to avoid crashing on absolute axis setup.Adam Jackson2006-06-02
|
* Tweak credits and references.Zephaniah E. Hull2006-05-14
| | | | | | | | | | | | | | | | | | Change the longs to unsigned longs in the bitfields. Cleanup our includes. Stop pulling in asm/types.h and asm/bitops.h. Conditionally define the stuff that used to come from the above, including our own test_bit, set_bit and clear_bit. Change the longs to unsigned longs in the bitfields. Change the longs to unsigned longs in the bitfields. Use the bitop defines in evdev.h properly. Change the longs to unsigned longs in the bitfields. Change the longs to unsigned longs in the bitfields. Use the bitop defines in evdev.h properly. Change the longs to unsigned longs in the bitfields. Use the bitop defines in evdev.h properly. Add HPPA/HPPA64 entries. (Thanks to Fabio M. Di Nitto <fabbione@ubuntu.com>)
* evdevAbsRec: Remove the scale bool, rename scale_x and scale_y to scale[2].Zephaniah E. Hull2006-04-14
| | | | | | | | | evdevAxesRec: Make btnMap an int array instead of a Card8 array. Make abs support and non-core stuff actually work. Relative emulation for abs mode is still a bit broken, but that's far less critical. How many buttons we've registered is configuration information, not an error message.
* Remove a debugging message.Zephaniah E. Hull2006-04-09
| | | | | Actually, well, _work_. Note, abs support still segfaults, I'll debug it after I've slept. But I should get it tomorrow.
* Remove evdev_abs.c and evdev_rel.c. Added evdev_axes.c.Zephaniah E. Hull2006-04-08
Change the calls to refer to EvdevAxes instead of Abs and Rel. Include mipointer.h. (Fixes a compile error.) Remove an unused variable from EvdevReadInput. Removed evdev_abs.c and evdev_rel.c, added evdev_axes.c. Added count to rel and abs. Moved btnMap from rel to the new axes. Shuffle some includes, and include stdarg.h. Removed. New, a mix of rel and abs that should actually work in the rel case. Rearrange include order. btnMap was moved from being part of rel to being part of axes. Removed. Rearrange include order. Rearrange include order. NOTE: This commit has been compile tested, not run tested. I have some other changes to make before I can do more heavy testing.