InputServer
class InputServer;
friend class InputServer;
BAutolock locker(InputServer::gInputFilterListLocker);
InputServer::gInputFilterList.RemoveItem(info->add_on);
BAutolock locker(InputServer::gInputMethodListLocker);
InputServer::gInputMethodList.RemoveItem(info->add_on);
BAutolock locker(InputServer::gInputFilterListLocker);
if (!InputServer::gInputFilterList.AddItem(filter)) {
BAutolock locker(InputServer::gInputMethodListLocker);
if (!InputServer::gInputMethodList.AddItem(method)) {
_BMethodAddOn_ *addon = InputServer::gKeymapMethod.fOwner;
if (InputServer::gInputMethodList.CountItems() == 0) {
BAutolock lock(InputServer::gInputMethodListLocker);
_BMethodAddOn_* addon = InputServer::gKeymapMethod.fOwner;
for (int32 i = 0; i < InputServer::gInputMethodList.CountItems(); i++) {
= (BInputServerMethod*)InputServer::gInputMethodList.ItemAt(i);
InputServer::HandleSetMousePosition(BMessage* message, BMessage* reply)
InputServer::HandleGetSetKeyboardID(BMessage* message, BMessage* reply)
InputServer::HandleGetSetKeyRepeatRate(BMessage* message, BMessage* reply)
InputServer::HandleGetSetKeyMap(BMessage* message, BMessage* reply)
InputServer::HandleFocusUnfocusIMAwareView(BMessage* message,
InputServer::EnqueueDeviceMessage(BMessage* message)
InputServer::EnqueueMethodMessage(BMessage* message)
InputServer::SetNextMethod(bool direction)
InputServer::SetActiveMethod(BInputServerMethod* method)
InputServer::MethodReplicant()
InputServer::SetMethodReplicant(const BMessenger* messenger)
InputServer::EventLoopRunning()
InputServer::GetDeviceInfo(const char* name, input_device_type *_type,
InputServer::GetDeviceInfos(BMessage *msg)
InputServer::UnregisterDevices(BInputServerDevice& serverDevice,
InputServer::RegisterDevices(BInputServerDevice& serverDevice,
InputServer::StartStopDevices(const char* name, input_device_type type,
InputServer::InputServer()
InputServer::StartStopDevices(BInputServerDevice& serverDevice, bool doStart)
InputServer::ControlDevices(const char* name, input_device_type type,
InputServer::SafeMode()
InputServer::_StartEventLoop()
InputServer::_EventLooper(void* arg)
InputServer* self = (InputServer*)arg;
InputServer::_EventLoop()
InputServer::_UpdateMouseAndKeys(EventList& events)
InputServer::_SanitizeEvents(EventList& events)
InputServer::_MethodizeEvents(EventList& events)
InputServer::_FilterEvents(EventList& events)
InputServer::_DispatchEvents(EventList& events)
InputServer::~InputServer()
InputServer::_FilterEvent(BInputServerFilter* filter, EventList& events,
InputServer::_DispatchEvent(BMessage* event)
InputServer::ArgvReceived(int32 argc, char** argv)
InputServer *inputServer = new InputServer;
InputServer::_InitKeyboardMouseStates()
InputServer::_LoadKeymap()
InputServer::_LoadSystemKeymap()
InputServer::_SaveKeymap(bool isDefault)
InputServer::QuitRequested()
InputServer::ReadyToRun()
InputServer::_AcquireInput(BMessage& message, BMessage& reply)
InputServer::_ReleaseInput(BMessage* /*message*/)
InputServer::MessageReceived(BMessage* message)
InputServer* gInputServer;
BList InputServer::gInputFilterList;
BLocker InputServer::gInputFilterListLocker("is_filter_queue_sem");
BList InputServer::gInputMethodList;
BLocker InputServer::gInputMethodListLocker("is_method_queue_sem");
KeymapMethod InputServer::gKeymapMethod;
InputServer::HandleSetMethod(BMessage* message)
BAutolock lock(InputServer::gInputMethodListLocker);
= (BInputServerMethod*)InputServer::gInputMethodList.ItemAt(i);
InputServer::HandleGetSetKeyRepeatDelay(BMessage* message, BMessage* reply)
InputServer::HandleGetKeyInfo(BMessage* message, BMessage* reply)
InputServer::HandleGetModifiers(BMessage* message, BMessage* reply)
InputServer::HandleGetModifierKey(BMessage* message, BMessage* reply)
InputServer::HandleSetModifierKey(BMessage* message, BMessage* reply)
InputServer::HandleSetKeyboardLocks(BMessage* message, BMessage* reply)
InputServer::_PostMouseControlMessage(int32 code, const BString& mouseName)
InputServer::_DeviceStarted(InputDeviceListItem& item)
InputServer::_DeviceStopping(InputDeviceListItem& item)
InputServer::_RunningMouseSettings()
InputServer::_RunningMiceSettings(BList& settings)
InputServer::_GetSettingsForMouse(BString mouseName)
InputServer::HandleGetSetMouseType(BMessage* message, BMessage* reply)
InputServer::HandleGetSetMouseAcceleration(BMessage* message, BMessage* reply)
InputServer::HandleGetSetMouseSpeed(BMessage* message, BMessage* reply)
InputServer::HandleGetSetMouseMap(BMessage* message, BMessage* reply)
InputServer::HandleGetSetClickSpeed(BMessage* message, BMessage* reply)
class InputServer : public BApplication {
InputServer();
virtual ~InputServer();
extern InputServer* gInputServer;
*region = BRegion(((InputServer*)be_app)->ScreenFrame());
if (((InputServer*)be_app)->MethodReplicant())
return ((InputServer*)be_app)->MethodReplicant()->SendMessage(&msg);
if (((InputServer*)be_app)->MethodReplicant())
return ((InputServer*)be_app)->MethodReplicant()->SendMessage(&msg);
if (((InputServer*)be_app)->MethodReplicant())
return ((InputServer*)be_app)->MethodReplicant()->SendMessage(&msg);
if (activate && ((InputServer*)be_app)->MethodReplicant()) {
((InputServer*)be_app)->MethodReplicant()->SendMessage(&msg);
if (((InputServer*)be_app)->MethodReplicant())
return ((InputServer*)be_app)->MethodReplicant()->SendMessage(&msg);
return ((InputServer*)be_app)->EnqueueMethodMessage(message);