Commit Graph

36 Commits

Author SHA1 Message Date
X512
03fd479633 virtio_input: add new virtio input driver
Change-Id: I10af2b30c79d1e8ff890d45642988f362d3d0a1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4012
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-20 12:43:16 +00:00
Lt-Henry
52a54e1b51 usb_hid: Enable digitizers to produce button events from tip and barrel switches
Change-Id: Ifcf542e6b04f2f210c80528279e70e0fdd1bb4e3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2685
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-01-26 18:56:32 +00:00
Preetpal Kaur
13b45a2ea3 Integrate PadBlocker in input preferences
- Import padblocker sources
- Add slider to set padblocking time
- Generates PadBlocker settings

Fixes #11673

Change-Id: Ic88416215aabb1ae6aba79ff41cb55a7f0f8008d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1590
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-06-22 15:08:48 +00:00
CodeforEvolution
29ae0e0f61 wacom: SMAP Fixes and Refactoring
Utilize user_memcpy and IS_USER_ADDRESS when necessary to prevent SMAP violations.
Also add a "wacom_device_header" struct to more easily share data between the wacom
kernel driver and input_server addon.

Should fix #14589

Change-Id: Ie2784020b21523f82fd450a2db2de60ccf9d6620
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2783
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-06-20 18:26:45 +00:00
Adrien Destugues
696d127d12 Live update of Input preferences device list
- Implement watch_input_devices in input_server, as it was TODO. For
  now, only one watcher is allowed at a time.
- Use it in Input preferences to get notified about added and removed
  devices and update the device list accordingly.

Change-Id: I52018af53738e68271d6d63b5bea31fd7cab1b3b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2041
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-25 11:58:48 +00:00
François Revol
0fa3181d95 Implemented the patch on #7963 in a different way.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-31 18:09:24 +00:00
Axel Dörfler
2c49465329 * Removed the at_kbd_io and AT keyboard stuff; this is now done within the PS/2
driver, and that driver is using the raw_key_info structure as well.
* Renamed kb_mouse_driver.h to keyboard_mouse_driver.h.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 19:19:14 +00:00
Axel Dörfler
19049c8bd3 * Removed now unused header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 19:16:30 +00:00
Axel Dörfler
897ca37d52 * Introduced a new debugger access to the keyboard drivers, and implemented that
in the PS/2 driver for now. The basic idea is to allow everyone to open the
  device, but only allow one key reader (as usual). However, once someone
  registers itself as a debugger, the original reader is blocked, and the
  debugger can read the key presses instead.
* Renamed ps2_keyboard.c to .cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:30:23 +00:00
Axel Dörfler
fc548b41f3 * Removed the pretty useless "Multifinger scrolling" option - it's now always
the same as the two finger scrolling option (could be disabled, too, opinions
  welcome).
* Added a new settings to disable horizontal two finger scrolling, since it's
  not that easy to only scroll in one direction with this. Maybe a higher
  starting boundary would also be an option for this instead, Clemens what do
  you think?
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 14:30:57 +00:00
Jérôme Duval
2bbb828870 added get_modifier_key() as proposed by Olivier Cortes. Thanks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-14 14:43:49 +00:00
Stephan Aßmus
6849a22864 Patch by Clemens Zeilder:
* Implemented Synaptics touchpad support in the PS2 bus_manager by
  refactoring/splitting the structure some and adding touchpad device
  handling.
* Implemented Touchpad input_server device add-on
* Created Touchpad preflet for configuring advances Synaptics touchpad
  options like scroll region (both horizontal and vertical) as well
  as other neat stuff

Thanks a lot, Clemens!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-01 10:48:35 +00:00
Axel Dörfler
ea9d4cd0f7 Slightly increased the default key repeat rate to make it at least
bearable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-22 10:53:27 +00:00
Jérôme Duval
d57634f732 the keymap is now saved when key locks or key modifiers are changed
this fixes bug #1282


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-16 18:40:32 +00:00
Jérôme Duval
8703696801 input_server saves its settings on change, sending itself a 'Save' request message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-07 15:38:53 +00:00
Marcus Overhagen
fbe9b0b6eb This fixes bug #149.
Input server now saves keyboard typematic settings whenever they are modified,
instead of wating until it is shutdown (which never happens, either the
system will crash, or the input_server will stay active after a normal shut down)
Same problems might apply to mouse and keymap settings.
Input server shutdown handling should be reviewed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-13 17:35:05 +00:00
Axel Dörfler
26b02ddc80 The input_server is now notified when the screen resolution is changed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 16:22:06 +00:00
Axel Dörfler
128ddaa3e3 Some work on the input_server:
* Rewrote event handling: instead of writing every single device message to
  the event port, they are just queued in a list, and the event loop is only
  notified if necessary (ie. if a notification has been sent already, new
  events are just queued up until the input_server found the time to process
  them).
* This also fixed a big memory leak: every message processed by EnqueueDeviceMessage()
  (IOW every key or mouse event) was leaked!
* no longer abuses gInputMethodListLocker to lock the method event queue
  (it now uses the standard event queue lock).
* removed the completely superfluous, weird and decelerating event caching mechanism
* tried to find a better distribution of work between _SanitizeEvents(),
  _MethodizeEvents(), and _DispatchEvents().
* HandleSetMousePosition() now only does what it's supposed to do (this currently
  causes the mouse to jump at the start, though).
* now uses the "Message4" for message sending if available.
* fixed "kb_mouse_settings.h" to include all headers it needs.
* some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:25:58 +00:00
Axel Dörfler
6c17d02551 * Introduced a new handshake between input_server and app_server, and some
temporary handling code in the app_server.
* RootLayer no longer creates the input_server messaging port - this is now
  the responsibility of the input_server.
* Moved AS_CREATE_[OFFSCREEN_]WINDOW from ServerApp::_MessageLooper() to
  _DispatchMessage().
* The RootLayer thread is now started as soon as the input_server is there.
* removed or disabled any input_server stuff in the AppServer class.
* removed old message commmands to the app_server.
* Removed the R5_CURSOR_COMM and HAIKU_APPSERVER_COMM definitions: the
  input_server is now automatically built correctly depending on the target.
* InputServer::EventLoop() plays now safe and checks for error conditions.
* InputServer::EnqueueDeviceMessage() seems to leak memory, added TODO about
  this.
* InputServer event loop messaging uses ports for inner-app communication - why?
* The InputServer event loop thread is no longer killed on exit, it just quits
  when its port is gone.
* Minor cleanup in input_server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 19:59:53 +00:00
Jérôme Duval
875d858766 added a tablet_movement struct
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-20 21:53:21 +00:00
Jérôme Duval
f8f38c4c4b stripped out comments because their license is unknown
removed unused definitions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 10:32:10 +00:00
Jérôme Duval
95e5262abe Added spacebar keycode
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-11 00:36:41 +00:00
Jérôme Duval
fa1e0b9c50 added codes for adding and removing
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 15:40:56 +00:00
Jérôme Duval
10996598fa moved cbuf_adapter.h from ps2mouse directory
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:03:59 +00:00
Jérôme Duval
e1130011b7 improved ioctl codes naming
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 16:01:12 +00:00
Jérôme Duval
7d5d344bf1 Some mice have two wheels
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 11:20:45 +00:00
Jérôme Duval
59fda8c176 change the mouse io struct
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-26 22:34:57 +00:00
Jérôme Duval
d0a8891742 fix no newline at end of file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-24 12:46:01 +00:00
Jérôme Duval
767560b14e Splitted kb_mouse_driver.h to avoid mixing driver and settings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 15:35:37 +00:00
Stefano Ceccherini
1fec91104a Added newline at the end of the file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-22 07:05:56 +00:00
Jérôme Duval
6bd2c5e573 fix the naming
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-24 13:44:35 +00:00
Jérôme Duval
91180f23e0 Added some other method replicant message ids
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-24 13:39:33 +00:00
Jérôme Duval
d92d0a2423 Update to R5 operation values, added a prefix IS_
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-18 15:42:59 +00:00
Jérôme Duval
87e2c83aed input_server message ids are now here
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-29 13:31:14 +00:00
Jérôme Duval
3e82153545 fixes a typo
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-27 10:23:18 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00