Per Jason.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1314 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -496,6 +496,8 @@ void InputServer::ReadyToRun(void)
|
||||
void InputServer::MessageReceived(BMessage *message)
|
||||
{
|
||||
BMessenger *app_server;
|
||||
BMessage *reply = NULL;
|
||||
|
||||
switch(message->what)
|
||||
{
|
||||
case SET_METHOD:
|
||||
@@ -585,12 +587,12 @@ void InputServer::MessageReceived(BMessage *message)
|
||||
}
|
||||
case GET_CLICK_SPEED:
|
||||
{
|
||||
//HandleGetSetClickSpeed();
|
||||
HandleGetClickSpeed(message, reply);
|
||||
break;
|
||||
}
|
||||
case SET_CLICK_SPEED:
|
||||
{
|
||||
//HandleGetSetClickSpeed();
|
||||
HandleSetClickSpeed(message, reply);
|
||||
break;
|
||||
}
|
||||
case GET_KEY_REPEAT_RATE:
|
||||
@@ -654,32 +656,77 @@ void InputServer::HandleSetMethod(BMessage *)
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleGetSetMouseType()
|
||||
* Method: InputServer::HandleGetMouseType()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetSetMouseType(BMessage *,
|
||||
BMessage *)
|
||||
void InputServer::HandleGetMouseType(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
status_t status = reply->AddInt32("mouse_type", sMouseType);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleGetSetMouseAcceleration()
|
||||
* Method: InputServer::HandleSetMouseType()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetSetMouseAcceleration(BMessage *,
|
||||
BMessage *)
|
||||
void InputServer::HandleSetMouseType(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
message->FindInt32("mouse_type", &sMouseType);
|
||||
status_t status = ControlDevices(NULL, B_POINTING_DEVICE, B_MOUSE_TYPE_CHANGED, NULL);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleGetSetKeyRepeatDelay()
|
||||
* Method: InputServer::HandleGetMouseAcceleration()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetSetKeyRepeatDelay(BMessage *,
|
||||
BMessage *)
|
||||
void InputServer::HandleGetMouseAcceleration(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
status_t status = reply->AddInt32("mouse_acceleration", sMouseAcceleration);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleSetMouseAcceleration()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleSetMouseAcceleration(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
message->FindInt32("mouse_acceleration", &sMouseAcceleration);
|
||||
status_t status = ControlDevices(NULL, B_POINTING_DEVICE, B_MOUSE_ACCELERATION_CHANGED, NULL);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleGetKeyRepeatDelay()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetKeyRepeatDelay(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
status_t status = reply->AddInt64("key_repeat_delay", sKeyRepeatDelay);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleSetKeyRepeatDelay()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleSetKeyRepeatDelay(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
message->FindInt64("key_repeat_delay", &sKeyRepeatDelay);
|
||||
status_t status = ControlDevices(NULL, B_KEYBOARD_DEVICE, B_KEY_REPEAT_DELAY_CHANGED, NULL);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
@@ -724,12 +771,27 @@ void InputServer::HandleSetKeyboardLocks(BMessage *,
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleGetSetMouseSpeed()
|
||||
* Method: InputServer::HandleGetMouseSpeed()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetSetMouseSpeed(BMessage *,
|
||||
BMessage *)
|
||||
void InputServer::HandleGetMouseSpeed(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
status_t status = reply->AddInt32("mouse_speed", sMouseSpeed);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleSetMouseSpeed()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleSetMouseSpeed(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
message->FindInt32("mouse_speed", &sMouseSpeed);
|
||||
status_t status = ControlDevices(NULL, B_POINTING_DEVICE, B_MOUSE_SPEED_CHANGED, NULL);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
@@ -774,12 +836,30 @@ void InputServer::HandleSetMousePosition(BMessage *message, BMessage *outbound)
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleGetSetMouseMap()
|
||||
* Method: InputServer::HandleGetMouseMap()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetSetMouseMap(BMessage *,
|
||||
BMessage *)
|
||||
void InputServer::HandleGetMouseMap(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
status_t status = reply->AddData("mouse_map", B_RAW_TYPE, &sMouseMap, sizeof(sMouseMap) );
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleSetMouseMap()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleSetMouseMap(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
mouse_map* map;
|
||||
ssize_t size;
|
||||
message->FindData("mouse_map", B_RAW_TYPE, (const void**)&map, &size);
|
||||
memcpy(&sMouseMap, map, sizeof(sMouseMap) );
|
||||
status_t status = ControlDevices(NULL, B_POINTING_DEVICE, B_MOUSE_MAP_CHANGED, NULL);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
@@ -788,28 +868,57 @@ void InputServer::HandleGetSetMouseMap(BMessage *,
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetKeyboardID(BMessage *,
|
||||
BMessage *)
|
||||
BMessage *)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleGetSetClickSpeed()
|
||||
* Method: InputServer::HandleGetClickSpeed()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetSetClickSpeed(BMessage *,
|
||||
BMessage *)
|
||||
void InputServer::HandleGetClickSpeed(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
status_t status = reply->AddInt64("mouse_click_speed", sMouseClickSpeed);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleSetClickSpeed()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleSetClickSpeed(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
message->FindInt64("mouse_click_speed", &sMouseClickSpeed);
|
||||
status_t status = ControlDevices(NULL, B_POINTING_DEVICE, B_CLICK_SPEED_CHANGED, NULL);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleGetSetKeyRepeatRate()
|
||||
* Method: InputServer::HandleGetKeyRepeatRate()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetSetKeyRepeatRate(BMessage *,
|
||||
BMessage *)
|
||||
void InputServer::HandleGetKeyRepeatRate(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
status_t status = reply->AddInt32("key_repeat_rate", sKeyRepeatRate);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Method: InputServer::HandleSetKeyRepeatRate()
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleSetKeyRepeatRate(BMessage* message,
|
||||
BMessage* reply)
|
||||
{
|
||||
message->FindInt32("key_repeat_rate", &sKeyRepeatRate);
|
||||
status_t status = ControlDevices(NULL, B_KEYBOARD_DEVICE, B_KEY_REPEAT_RATE_CHANGED, NULL);
|
||||
message->SendReply(status, reply);
|
||||
}
|
||||
|
||||
|
||||
@@ -818,7 +927,7 @@ void InputServer::HandleGetSetKeyRepeatRate(BMessage *,
|
||||
* Descr:
|
||||
*/
|
||||
void InputServer::HandleGetSetKeyMap(BMessage *,
|
||||
BMessage *)
|
||||
BMessage *)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1150,12 +1259,37 @@ status_t InputServer::StartStopDevices(const char* deviceName,
|
||||
* Method: InputServer::ControlDevices()
|
||||
* Descr:
|
||||
*/
|
||||
status_t InputServer::ControlDevices(const char *,
|
||||
input_device_type,
|
||||
unsigned long,
|
||||
BMessage *)
|
||||
status_t InputServer::ControlDevices(const char* deviceName,
|
||||
input_device_type deviceType,
|
||||
unsigned long command,
|
||||
BMessage* message)
|
||||
{
|
||||
return 0;
|
||||
status_t status = B_OK;
|
||||
|
||||
for (int i = gInputDeviceList.CountItems() - 1; i >= 0; i--)
|
||||
{
|
||||
printf("ControlDevice #%d\n", i);
|
||||
InputDeviceListItem* item = (InputDeviceListItem*)gInputDeviceList.ItemAt(i);
|
||||
if (NULL != item)
|
||||
{
|
||||
BInputServerDevice* isd = item->mIsd;
|
||||
input_device_ref* dev = item->mDev;
|
||||
if ( (NULL != isd) && (NULL != dev) )
|
||||
{
|
||||
printf(" Controlling: %s\n", dev->name);
|
||||
if (deviceType == dev->type)
|
||||
{
|
||||
// :TODO: Descriminate based on Device Name also.
|
||||
|
||||
// :TODO: Pass non-NULL Device Name and Cookie.
|
||||
|
||||
status = isd->Control(NULL /*Name*/, NULL /*Cookie*/, command, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -113,19 +113,26 @@ public:
|
||||
void MessageReceived(BMessage*);
|
||||
|
||||
void HandleSetMethod(BMessage*);
|
||||
void HandleGetSetMouseType(BMessage*, BMessage*);
|
||||
void HandleGetSetMouseAcceleration(BMessage*, BMessage*);
|
||||
void HandleGetSetKeyRepeatDelay(BMessage*, BMessage*);
|
||||
void HandleGetMouseType(BMessage*, BMessage*);
|
||||
void HandleSetMouseType(BMessage*, BMessage*);
|
||||
void HandleGetMouseAcceleration(BMessage*, BMessage*);
|
||||
void HandleSetMouseAcceleration(BMessage*, BMessage*);
|
||||
void HandleGetKeyRepeatDelay(BMessage*, BMessage*);
|
||||
void HandleSetKeyRepeatDelay(BMessage*, BMessage*);
|
||||
void HandleGetKeyInfo(BMessage*, BMessage*);
|
||||
void HandleGetModifiers(BMessage*, BMessage*);
|
||||
void HandleSetModifierKey(BMessage*, BMessage*);
|
||||
void HandleSetKeyboardLocks(BMessage*, BMessage*);
|
||||
void HandleGetSetMouseSpeed(BMessage*, BMessage*);
|
||||
void HandleGetMouseSpeed(BMessage*, BMessage*);
|
||||
void HandleSetMouseSpeed(BMessage*, BMessage*);
|
||||
void HandleSetMousePosition(BMessage*, BMessage*);
|
||||
void HandleGetSetMouseMap(BMessage*, BMessage*);
|
||||
void HandleGetMouseMap(BMessage*, BMessage*);
|
||||
void HandleSetMouseMap(BMessage*, BMessage*);
|
||||
void HandleGetKeyboardID(BMessage*, BMessage*);
|
||||
void HandleGetSetClickSpeed(BMessage*, BMessage*);
|
||||
void HandleGetSetKeyRepeatRate(BMessage*, BMessage*);
|
||||
void HandleGetClickSpeed(BMessage*, BMessage*);
|
||||
void HandleSetClickSpeed(BMessage*, BMessage*);
|
||||
void HandleGetKeyRepeatRate(BMessage*, BMessage*);
|
||||
void HandleSetKeyRepeatRate(BMessage*, BMessage*);
|
||||
void HandleGetSetKeyMap(BMessage*, BMessage*);
|
||||
void HandleFocusUnfocusIMAwareView(BMessage*, BMessage*);
|
||||
|
||||
@@ -172,6 +179,13 @@ private:
|
||||
bool sSafeMode;
|
||||
port_id sEventPort;
|
||||
BPoint sMousePos;
|
||||
int32 sMouseType;
|
||||
int32 sMouseSpeed;
|
||||
int32 sMouseAcceleration;
|
||||
bigtime_t sMouseClickSpeed;
|
||||
int32 sKeyRepeatRate;
|
||||
bigtime_t sKeyRepeatDelay;
|
||||
mouse_map sMouseMap;
|
||||
|
||||
port_id ISPort;
|
||||
port_id EventLooperPort;
|
||||
|
||||
Reference in New Issue
Block a user