haiku/src/servers/input/Jamfile
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

87 lines
1.8 KiB
Plaintext

SubDir HAIKU_TOP src servers input ;
SetSubDirSupportedPlatformsBeOSCompatible ;
if $(COMPILE_FOR_R5) {
SubDirC++Flags -DCOMPILE_FOR_R5 ;
}
rule MkKeymapHeader
{
local binary = $(1) ;
local source = $(2) ;
SEARCH on $(source) = $(SEARCH_SOURCE) ;
MakeLocateArch $(binary) ;
Depends $(binary) : $(source) <build>keymap ;
MkKeymapHeader1 $(binary) : <build>keymap $(source) ;
LocalClean clean : $(binary) ;
}
actions MkKeymapHeader1
{
$(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
$(2[1]) -o "$(1)" -h "$(2[2-])" ;
}
MkKeymapHeader [ FGristFiles SystemKeymap.cpp ] : US-International.keymap ;
SEARCH on US-International.keymap
+= [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) data etc keymaps ] ;
AddResources input_server : input_server.rdef ;
UsePrivateHeaders app input interface shared storage ;
SubDirC++Flags -DADD_ON_STABLE_SECONDS=1 ; # for AddOnMonitorHandler.cpp
if $(TARGET_PLATFORM) != haiku {
SubDirC++Flags -DCOMPILE_FOR_R5 ;
#APPSERVER_TEST_MODE = 1 ;
if $(APPSERVER_TEST_MODE) {
SubDirC++Flags -DAPPSERVER_TEST_MODE ;
} else {
SubDirC++Flags -DAPPSERVER_R5_COMM ;
}
} else {
APPSERVER_TEST_MODE = 0 ;
}
Server input_server :
InputServer.cpp
InputServerDevice.cpp
InputServerFilter.cpp
InputServerMethod.cpp
AddOnManager.cpp
DeviceManager.cpp
MouseSettings.cpp
KeyboardSettings.cpp
SystemKeymap.cpp
MethodReplicant.cpp
MethodMenuItem.cpp
BottomlineWindow.cpp
# storage
AddOnMonitor.cpp
AddOnMonitorHandler.cpp
NodeMonitorHandler.cpp
: be $(TARGET_LIBSTDC++)
;
SEARCH on [ FGristFiles AddOnMonitor.cpp
AddOnMonitorHandler.cpp
NodeMonitorHandler.cpp ] += [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) kits storage ] ;
Package haiku-inputkit-cvs :
input_server :
boot beos system servers ;
Packages haiku-inputkit-cvs :
README LICENSE install.sh ;