Commit Graph

39724 Commits

Author SHA1 Message Date
Rene Gollent
b184abda90 Fix gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 02:29:48 +00:00
Michael Lotz
f7a566feb7 Simplify hid_decode using the new HIDParser::PrintToStream() which generates the
same output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 00:50:23 +00:00
Michael Lotz
bc64bf6ab4 Add support for absolute pointing devices. Supported are mice/pointers with
absolute coordinates (qemu/kvm -usbdevice tablet) and various digitizers. If a
tablet-like usage is determined the MouseProtocolHandler publishes to
input/tablet instead of input/mouse and reports its info in a tablet_movement
structure instead of a mouse_movement structure, allowing for absolute
coordinates. Note that right now only the absolute coordinates are used, the
other tablet specific inputs (eraser, pressure, tilt and contact) aren't yet
filled in. I will add these as a second step.
I've only tested this with kvm where this makes the "seamless" mouse integration
work and therefore fixes #5989. Note that QEMU for BeOS/Haiku doesn't support
that mode (patch pending on my side) and will lock the pointer into the upper
left corner if -usbdevice tablet is used (whereas it previously just did
nothing).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 00:10:56 +00:00
Michael Lotz
3e144a2ffd Add the tablet input_server device add-on to the image. It supports absolute
pointing devices that publish entries into /dev/input/tablet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 23:58:35 +00:00
Ryan Leavengood
365839fb2d Apply patches from Humdinger and mt (with some overlap) which adds localization
to the Network time tab and makes the layout use more standard spacing.

Also changed the name of the Synchronize button after a sync to Synchronize again.

Fixes #7642.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 23:55:41 +00:00
Michael Lotz
6eabc83386 Add HIDReportItem::ScaledFloatData() which scales the data into a float range
from 0.0 to 1.0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 23:53:04 +00:00
Michael Lotz
21f237c0af Add the tablet input_server device add-on directory to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 23:17:01 +00:00
Michael Lotz
1c1f322ec1 Replace the TabletInputDevice by a MouseInputDevice based reimplementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 19:15:43 +00:00
Michael Lotz
fdad31e6a5 Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 19:09:04 +00:00
Fredrik Modeen
b9bac11908 remove unused code the em driver are in e1000
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 18:25:06 +00:00
Joachim Seemer
e63987745a As reported by Miroslav Stimac, VMPlayer now supports more than 2 cores. Generalized comments in vmx files. Thanks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 17:58:08 +00:00
Joachim Seemer
3c018b5f64 Added missing localization macros.+alpha
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 17:56:25 +00:00
Fredrik Modeen
2d3e6927ca Reverting so I can work on it without disturbing the GSoC project ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 17:30:40 +00:00
Rene Gollent
d39c94f224 Remove reference to no longer existing NetworkTime Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 14:56:28 +00:00
Alexandre Deckner
6009abf2bd * One more fix needed for right click dragging. Ignore right mouse up if a drag
or long click happened between the initial mouse down and the present mouse up.
Tried to avoid this solution by other means but wasn't working in a corner case,
at least it's clear what's the code is doing.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 13:42:27 +00:00
Ryan Leavengood
2530274ddc Missed this in my previous Time commit, hence the build break, sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 06:09:55 +00:00
Joachim Seemer
4269010322 Fixed copy and paste error. Fixes #7640.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 04:58:53 +00:00
Ryan Leavengood
f4e32875a9 Remove the now obsolete NetworkTime application.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 02:38:05 +00:00
Ryan Leavengood
323ba9b7fb Apply Hamish Morrison's patch from #2412, with a few small style changes and
merging my fixes to ntp.cpp from the NetworkTime source.

This makes Time use the layout system as well as support updating time through
the network.

I tried very hard to catch and fix any new style violations, though in general
Hamish did quite well.

After some testing this could be put in Alpha3, but I won't mark it as such
yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 02:36:32 +00:00
Alexandre Deckner
f2068166ad * Fix regression spotted by Humdinger. Emulate right click dragging like it
used to work before, i.e right mouse button dragging works and the context
menu shows on mouse up if not dragged. I guess that at some point we'll rethink
all the mouse gestures we support and maybe simplify a bit, like dropping
long click support (as an emulated right button), and possibly
separating some features via user settings if needed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 01:55:52 +00:00
Michael Lotz
58e371f5a5 Make the HIDWriter available to hid_decode as well. It is not (yet) used there
however.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 00:41:40 +00:00
Michael Lotz
d3260cdb5f * Reimplement the descriptor patching mechanism for quirky devices by a function
to build a new descriptor using a HIDWriter. This way a completely new
  descriptor can be built on the fly or a fixed already patched blob can be
  written to the writer if desired.
* Implemented writing a new report descriptor for Sony SIXAXIS controllers. The
  descriptor also includes the pressure sensitive button states (exposed as 12
  axes) and the accelerometers/gyroscope (exposed as another 4 axes). While the
  motion sensing data is now available (and fun to look at), the usefulness is
  fairly limited, as the values are not scaled/transformed in any way. It might
  be possible to generically do such transformations using unit descriptions,
  but those are not implemented yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 00:40:19 +00:00
Michael Lotz
517851a173 Reimplement axis mapping and allow for more usages to be axes. This allows for
duplicate usages and simply adds more axes in that case. It also removes the
gaps that were previously put in place if there were higher numbered axes.
However, since the ordering of the axes now depends on the ordering inside the
HID collection, it is possible that some controllers won't have the X, Y and Z
axis mapped as the first three axes, which might confuse applications. I've not
encountered a report structure that would lead to such a situation yet, but then
again the amount of reports I was able to get hold of is fairly limited. If it
becomes a problem the mapping needs to be adjusted accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 00:30:33 +00:00
Michael Lotz
9aec639d12 Add a PrintToStream() method to HIDParser that prints the resulting reports and
the root collection.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 00:12:15 +00:00
Michael Lotz
0e37c8a9fc Implement a HIDWriter that provides a high and lower level interface for writing
report descriptors. These descriptors aren't optimized for efficiency (the
writer doesn't attempt to avoid writing unneeded global items for example) but
they will only serve as input for the HIDParser that parses them correctly
regardless.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 00:10:07 +00:00
Scott McCreary
0c3a8f1355 Updated armyknife OptionalPackage to fix a couple of mime-type issues
reported and patched by Humdinger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 21:25:04 +00:00
Joachim Seemer
713d02b592 Updated catkeys from HTA.+alpha3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 20:56:58 +00:00
Joachim Seemer
63208ae886 Made the first column a bit wider,because it always truncated the Vision notification... Also changed the bit weird spacing to be a uniform DefaultItemSpacing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 18:37:04 +00:00
Siarzhuk Zharski
0d97cc65ed An Intel PHYs MII module added to ipro100 driver to fix "No Link" status issues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 14:09:24 +00:00
Michael Lotz
6b9615d068 * Keep an open count in the JoystickProtocolHandler.
* Only cancel the update thread if the last open instance is closed. This fixes
  that other applications using the same joystick would stop getting updated
  values as soon as one application was closed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 13:51:30 +00:00
Ingo Weinhold
dfc8551aad open_executable(): Changed search order according to the ABI specs. DT_RPATH
is now searched before the LIBRARY_PATH/ADDON_PATH. Fixes #7638.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 13:28:31 +00:00
Michael Lotz
6e53f9a990 * Make the quirky device mechanism a bit more useful by allowing an init
function that is triggered before the protocol handlers are added.
* Use the quirky device mechanism to support the Sony SIXAXIS controller (the
  PS3 one). It requires a specific get_report to become operational. Note that
  you still have to push the PS button to enable it after plugging in. Note also
  that only the two analog sticks are reported as axis, the analog values of the
  buttons as well as the motion sensors aren't described by the HID descriptor
  and therefore aren't accessible. The digital button states (on/off only) work
  however. A fixed descriptor could possibly be crafted to support the missing
  features later on though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 12:47:02 +00:00
Michael Pfeiffer
84cb679caa Use layout API
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 08:18:28 +00:00
Scott McCreary
f646869dce Updated NetSurf OptionalPackage for alpha3.
+alpha3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 07:35:18 +00:00
Michael Lotz
a4aa4541c1 * Make it a valid C header again.
* Cleanup of include grouping as pointed out by Axel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 23:31:05 +00:00
Michael Lotz
e36050e83d Set the debug keyboard info for the kernel debugger when initializing keyboard
handlers. A full sized keyboard is assumed when LEDs are found and those are
preferred then. This makes USB keyboards work (at least those that worked
by voluntarily entering KDL before, i.e. those that are hooked up to UHCI root
ports) also when entering KDL by means of a panic. The first (few) keys are
swallowed though, but that's certainly better than it not working at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 23:24:58 +00:00
Alexander von Gluck IV
93344365ca few small fixes to get ramfs slightly closer to compiling again; <new> is for you; add parentheses to avoid gcc warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 23:03:10 +00:00
Rene Gollent
eab06f5f40 Keyboard and Tablet were likewise using the aforementioned ioctls incorrectly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 22:23:10 +00:00
Axel Dörfler
baf8979f50 * Improved FLV description.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 22:16:12 +00:00
Rene Gollent
308e87fc11 The ioctl for reading mouse parameters was missing the structure size. This would cause it to randomly fail and exit the loop, resulting in the mouse going unresponsive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 22:12:06 +00:00
Michael Lotz
894a3ebe89 Specify that we support variable mode, which will cause drivers to switch to
that mode when they support it. Right now there is only usb_hid though. With
this commit controllers with an arbitrary number of axes, hats and buttons are
now supported by BJoystick and by the BJoystick <-> driver protocol as well as
by usb_hid (usb_hid doesn't yet have support for hats though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 21:15:45 +00:00
Alexandre Deckner
596bb6891a * Finally rewrote the filthy, busy-looping, mouse tracking in Tracker.
The new asynchronous tracking doesn't lock the view and makes desktop 
replicants happy while clicking and dragging around. Fixes #880, #7241 
and certainly other tickets, that i will revisit, about refresh locks 
on the desktop or mouse related bugs. Based on a reusable MessageFilter and the 
recent B_MOUSE_IDLE message. Some parts are ported from the old code
and could use further simplification.

There should be no intentional user fonctional change, except: 
- slightly bigger threshold radius, shorter duration thresholds
 (= 1.0 x the system-wide doubleclick setting)
- not reimplemented: quickening threshold when holding shift while dragging
 a pose over a destination pose.

Some parts are ported from the old code and could use further simplification.
There is one known minor regression with autoscrolling while 
rect-selecting but that will be better fixed with some changes to the 
autoscroll code. Will address that ASAP. As for the unknown regressions, 
please test :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 21:12:14 +00:00
Michael Lotz
233d1dc479 Implement variable joystick mode in the JoystickProtocolHandler. It supports
both, variable and extended joystick mode, using the same mechanism of mimicing
the extended_joystick structure with the variable one if required. The mode
used depends on the support flag coming in from BJoystick (currently off), so
with this commit the behaviour doesn't change. I'm going to flip that switch
next though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 21:11:38 +00:00
Axel Dörfler
3f953a72ff * Fixed missing initialization of fIsVesa, which should fix #7588.
+alpha


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 21:06:08 +00:00
Michael Lotz
e0f0271ae6 Use the appropriate initialize*() method instead of setting up the structure
manually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 20:55:14 +00:00
Michael Lotz
34f0d87a9d Add initialize[_to_extended_joystick]() methods to variable_joystick. With those
methods the members are populated, the flat data size is calcualted, the data
buffer is allocated and the convenience pointers are set up automatically. With
initialize() an arbitrary configuration can be created, with
initialize_to_extended_joystick() a configuration is created that exactly
matches the data structure of the extended_joystick struct.
Having them here makes it easy to use the structure from a driver as well
without the need to set up everything manually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 20:54:05 +00:00
Axel Dörfler
497beb0e26 * Fixed build, and therefore finally fixes #6317 again :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 20:38:38 +00:00
Michael Lotz
6e0cca2f96 * Remove the JoystickPrivate.h again and move the variable_joystick structure
into joystick_driver.h as it is convenient to have also on the driver side.
* Added comments explaining the data structure and use case of the structure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 19:48:16 +00:00
Michael Lotz
ab1763688f * Replace the fixed size extended_joystick structure with a variably sized one
inside BJoystick.
* Add joystick_module_info flag to communicate support for variably sized reads.
* The variably sized data structure is set up to describe either the actual
  amount of data, when variably sized reads are supported by the driver, or it
  is set up so that it exactly matches the data layout of the extended_joystick
  structure. This allows us to support both as input data, while only needing to
  care about a single format inside BJoystick. Convenience pointers allow the
  data to be retrieved without additional overhead or extra logic.
* Add some sanity checks and ensure some boundaries when dealing reading data
  from the variably sized structure (as there might not be any buttons, hats,
  axis at all now).
* Ensure that the extended_joystick structure doesn't change in size due to
  padding by making it _PACKED (it wasn't padded though).

This is still supposed to work exactly as before. However, it opens up the
possibility to actually support arbitrary controllers with arbitrary axis, hat
and button counts. It therefore allows to actually deliver what the BJoystick
API was designed to handle all along.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 18:33:43 +00:00
Michael Lotz
660fe6bca9 * Make use of the new BJoystick::GetButtonValues() so any number of buttons can
be retrieved. I think the fixed layout will actually make it impossible to see
  anything beyond the 9th button however... The coding style of this app is,
  different, to say the least and I didn't really bother fixing it up right now,
  so the changes just mimic what's there.
* Some automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 15:55:50 +00:00