#
12340679 |
|
03-Mar-2021 |
CodeforEvolution <secundaja@gmail.com> |
input_server: Properly implement watch_input_devices() & add documentation Allow for multiple programs to watch for changes in the state of input devices connected to the system. Previously only one program at a time could watch input devices. While this functionality was not implemented in BeOS R5, it was at least documented in the BeBook. Also added some API documentation where necessary for the function and related constants. Change-Id: Icd927998cffcab212bb63bcf10c64c620e9da9a2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3872 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
696d127d |
|
21-Dec-2019 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
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>
|
#
916be2df |
|
16-Oct-2013 |
John Scipione <jscipione@gmail.com> |
Consolidate adding add-on directories This builds off of hrev46243 adding add-on directories all in one place in AddOnMonitorHandler instead of repeating the code 3 times in IndexServer, AddOnManager, and MediaAddOnServer. The safe mode checking in InputServer is now redundant since it all gets funneled into AddOnMonitorHandler::AddAddOnDirectories() and the safe mode flags are checked there. We should probably remove the InputServer::SafeMode() method, but, I didn't want to break anything that depended on it so I left it.
|
#
509a3787 |
|
05-Dec-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Eliminate the second add-on monitor looper by inheriting AddOnManger from AddOnMonitor. This solves a concurrency problem in the AddOnMonitorHandler implementation which called into AddOnManager private methods on the wrong looper thread without locking. Would have corrupted memory when unplugging input devices during input_server initialization (so normally not encountered). The code paths for adding devices were locking already, since those can be called from other threads as well and this was anticipated. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39741 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f1db8cf |
|
05-Dec-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Brought the public methods in declaration order. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39735 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
23debb05 |
|
19-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Rewrote InputServerDevice.h header. * Renamed _BDeviceAddOn_ to DeviceAddOn, and put it into the BPrivate namespace. * Moved the DeviceManager functionality into the AddOnManager - this also solves a locking issue, as BInputServerDevice::Control() was called in the context of the DeviceManager before. * The AddOnManager now uses the BPathMonitor to monitor the devices that BInputServerDevices ask for - this greatly simplifies the code. * Got rid of TList.h, and use ObjectList.h instead. * Added PathList class that has a list of paths with reference count, used by DeviceAddOn and the AddOnManager. * DeviceAddOn got an actual implementation that lives in InputServerDevice.cpp. * Added an experimental BInputServerDevice::AddDevices() that could be used instead of recursing over devices manually. It replaces the functionality that was found in the DeviceManager before (this was done implicitely for all monitored devices). * Greatly cleaned up and simplified the AddOnManager. * Also fixed lots of potential errors/leaks when things go wrong. * Removed the extra locker in AddOnManager - its BLooper lock is now used instead. * Replaced PRINT()/PRINTERR() macros in the AddOnManager with TRACE(), and ERROR(), both now use debug_printf(). * Hopefully this fixes the problem that I don't have keyboard under VirtualBox from time to time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28241 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8f2be9ef |
|
18-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup, no functional change. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28229 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f27f494c |
|
06-May-2008 |
Jérôme Duval <korli@users.berlios.de> |
when no input method is found but the replicant was loaded, we now unload it git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25330 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7ee49d9f |
|
29-Aug-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18696 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9514d2e5 |
|
15-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* introduced a global gInputServer object, so that you don't need to cast the be_app object anymore. * fixed some missing locks for the input device list. * moved the input device list into the InputServer object - didn't make a lot of sense the way it was done before. Also moved registering/unregistering into the InputerServer class. * Made the InputDeviceListItem class a bit more useful and encapsulated. * cleanup, removed empty function documentation stubs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14946 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e3c78ade |
|
10-Jan-2005 |
Jérôme Duval <korli@users.berlios.de> |
Added input method key switching (alt+space) Added code to enable deskbar replicant loading after input_server is started git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10664 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f40fc44e |
|
22-Oct-2004 |
Jérôme Duval <korli@users.berlios.de> |
Added initial method addons support git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9445 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ca75e4d0 |
|
05-Oct-2004 |
Jérôme Duval <korli@users.berlios.de> |
Added a looper to handle devices related requests Before it was deadlocking when an addon asks for a new keymap on a notification message git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9219 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f907d729 |
|
29-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
now only system addons are loaded when safemode is true git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8720 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
00740cc5 |
|
29-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
Integrated MouseSettings and KeyboardSettings update license info clean up removed node monitoring messages handling fixed several message handlers git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8710 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
97c19e92 |
|
27-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
Complete DeviceManager, need testing though. Fix crash with TeamMonitor when quitting. Moved app signature to a common place git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8674 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e6c0b53d |
|
23-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
Added filtering. Commented now former unused addon code. We now load and manage device and filter addons successfully. Tested with nervous and InputRecorder devices and InputRecorder filter. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8626 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
173f7185 |
|
19-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
AddOnManager improved, initializations, message handling improved git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8610 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5359f0d4 |
|
19-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
added an addon manager directly from our media server, not finalized git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8609 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
916be2df3c26f589bd422d22230f921e51e69bae |
|
16-Oct-2013 |
John Scipione <jscipione@gmail.com> |
Consolidate adding add-on directories This builds off of hrev46243 adding add-on directories all in one place in AddOnMonitorHandler instead of repeating the code 3 times in IndexServer, AddOnManager, and MediaAddOnServer. The safe mode checking in InputServer is now redundant since it all gets funneled into AddOnMonitorHandler::AddAddOnDirectories() and the safe mode flags are checked there. We should probably remove the InputServer::SafeMode() method, but, I didn't want to break anything that depended on it so I left it.
|
#
509a3787b1d2d3f8cd762ec47af4fcf96fbd04fe |
|
05-Dec-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Eliminate the second add-on monitor looper by inheriting AddOnManger from AddOnMonitor. This solves a concurrency problem in the AddOnMonitorHandler implementation which called into AddOnManager private methods on the wrong looper thread without locking. Would have corrupted memory when unplugging input devices during input_server initialization (so normally not encountered). The code paths for adding devices were locking already, since those can be called from other threads as well and this was anticipated. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39741 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f1db8cf7eef94a8acc3ab1405f06812d603723d |
|
05-Dec-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Brought the public methods in declaration order. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39735 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
23debb05d034dcc04cd6cb0735189609abe8e2d3 |
|
19-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Rewrote InputServerDevice.h header. * Renamed _BDeviceAddOn_ to DeviceAddOn, and put it into the BPrivate namespace. * Moved the DeviceManager functionality into the AddOnManager - this also solves a locking issue, as BInputServerDevice::Control() was called in the context of the DeviceManager before. * The AddOnManager now uses the BPathMonitor to monitor the devices that BInputServerDevices ask for - this greatly simplifies the code. * Got rid of TList.h, and use ObjectList.h instead. * Added PathList class that has a list of paths with reference count, used by DeviceAddOn and the AddOnManager. * DeviceAddOn got an actual implementation that lives in InputServerDevice.cpp. * Added an experimental BInputServerDevice::AddDevices() that could be used instead of recursing over devices manually. It replaces the functionality that was found in the DeviceManager before (this was done implicitely for all monitored devices). * Greatly cleaned up and simplified the AddOnManager. * Also fixed lots of potential errors/leaks when things go wrong. * Removed the extra locker in AddOnManager - its BLooper lock is now used instead. * Replaced PRINT()/PRINTERR() macros in the AddOnManager with TRACE(), and ERROR(), both now use debug_printf(). * Hopefully this fixes the problem that I don't have keyboard under VirtualBox from time to time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28241 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8f2be9ef82ab0bab66b8e686a2ef379374d3ee7f |
|
18-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup, no functional change. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28229 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f27f494cb2fb037694727d55dfbe2e3495ef70ae |
|
06-May-2008 |
Jérôme Duval <korli@users.berlios.de> |
when no input method is found but the replicant was loaded, we now unload it git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25330 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7ee49d9f646112a845e1a512b9231682be4e81c8 |
|
29-Aug-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18696 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9514d2e5e6d5f285d06e3628b0062ea945ee6d21 |
|
15-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* introduced a global gInputServer object, so that you don't need to cast the be_app object anymore. * fixed some missing locks for the input device list. * moved the input device list into the InputServer object - didn't make a lot of sense the way it was done before. Also moved registering/unregistering into the InputerServer class. * Made the InputDeviceListItem class a bit more useful and encapsulated. * cleanup, removed empty function documentation stubs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14946 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e3c78aded74b54ae683822c453d0a7989264e40f |
|
10-Jan-2005 |
Jérôme Duval <korli@users.berlios.de> |
Added input method key switching (alt+space) Added code to enable deskbar replicant loading after input_server is started git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10664 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f40fc44ef4583ecfa08c45c6b02dacce687b7b00 |
|
22-Oct-2004 |
Jérôme Duval <korli@users.berlios.de> |
Added initial method addons support git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9445 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ca75e4d057d1ccc7b8cf60a0e7035bb30d59cd62 |
|
05-Oct-2004 |
Jérôme Duval <korli@users.berlios.de> |
Added a looper to handle devices related requests Before it was deadlocking when an addon asks for a new keymap on a notification message git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9219 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f907d7292af7f0247786148e2bb2ad559ee74267 |
|
29-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
now only system addons are loaded when safemode is true git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8720 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
00740cc502b4158b05917e6773cf949f9514106f |
|
29-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
Integrated MouseSettings and KeyboardSettings update license info clean up removed node monitoring messages handling fixed several message handlers git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8710 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
97c19e92aac7938131090f96904116c0d768d0ef |
|
27-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
Complete DeviceManager, need testing though. Fix crash with TeamMonitor when quitting. Moved app signature to a common place git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8674 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e6c0b53ddc2f5d877499395c9aa15b262339c67d |
|
23-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
Added filtering. Commented now former unused addon code. We now load and manage device and filter addons successfully. Tested with nervous and InputRecorder devices and InputRecorder filter. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8626 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
173f7185f40ac1e71a48c1d0de9c5523afb993ff |
|
19-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
AddOnManager improved, initializations, message handling improved git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8610 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5359f0d4ccab8979024dcbb7435ed6f272f2a677 |
|
19-Aug-2004 |
Jérôme Duval <korli@users.berlios.de> |
added an addon manager directly from our media server, not finalized git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8609 a95241bf-73f2-0310-859d-f6bbb57e9c96
|