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)
|
void InputServer::MessageReceived(BMessage *message)
|
||||||
{
|
{
|
||||||
BMessenger *app_server;
|
BMessenger *app_server;
|
||||||
|
BMessage *reply = NULL;
|
||||||
|
|
||||||
switch(message->what)
|
switch(message->what)
|
||||||
{
|
{
|
||||||
case SET_METHOD:
|
case SET_METHOD:
|
||||||
@@ -585,12 +587,12 @@ void InputServer::MessageReceived(BMessage *message)
|
|||||||
}
|
}
|
||||||
case GET_CLICK_SPEED:
|
case GET_CLICK_SPEED:
|
||||||
{
|
{
|
||||||
//HandleGetSetClickSpeed();
|
HandleGetClickSpeed(message, reply);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SET_CLICK_SPEED:
|
case SET_CLICK_SPEED:
|
||||||
{
|
{
|
||||||
//HandleGetSetClickSpeed();
|
HandleSetClickSpeed(message, reply);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GET_KEY_REPEAT_RATE:
|
case GET_KEY_REPEAT_RATE:
|
||||||
@@ -654,32 +656,77 @@ void InputServer::HandleSetMethod(BMessage *)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Method: InputServer::HandleGetSetMouseType()
|
* Method: InputServer::HandleGetMouseType()
|
||||||
* Descr:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
void InputServer::HandleGetSetMouseType(BMessage *,
|
void InputServer::HandleGetMouseType(BMessage* message,
|
||||||
BMessage *)
|
BMessage* reply)
|
||||||
{
|
{
|
||||||
|
status_t status = reply->AddInt32("mouse_type", sMouseType);
|
||||||
|
message->SendReply(status, reply);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Method: InputServer::HandleGetSetMouseAcceleration()
|
* Method: InputServer::HandleSetMouseType()
|
||||||
* Descr:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
void InputServer::HandleGetSetMouseAcceleration(BMessage *,
|
void InputServer::HandleSetMouseType(BMessage* message,
|
||||||
BMessage *)
|
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:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
void InputServer::HandleGetSetKeyRepeatDelay(BMessage *,
|
void InputServer::HandleGetMouseAcceleration(BMessage* message,
|
||||||
BMessage *)
|
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:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
void InputServer::HandleGetSetMouseSpeed(BMessage *,
|
void InputServer::HandleGetMouseSpeed(BMessage* message,
|
||||||
BMessage *)
|
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:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
void InputServer::HandleGetSetMouseMap(BMessage *,
|
void InputServer::HandleGetMouseMap(BMessage* message,
|
||||||
BMessage *)
|
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:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
void InputServer::HandleGetKeyboardID(BMessage *,
|
void InputServer::HandleGetKeyboardID(BMessage *,
|
||||||
BMessage *)
|
BMessage *)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Method: InputServer::HandleGetSetClickSpeed()
|
* Method: InputServer::HandleGetClickSpeed()
|
||||||
* Descr:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
void InputServer::HandleGetSetClickSpeed(BMessage *,
|
void InputServer::HandleGetClickSpeed(BMessage* message,
|
||||||
BMessage *)
|
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:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
void InputServer::HandleGetSetKeyRepeatRate(BMessage *,
|
void InputServer::HandleGetKeyRepeatRate(BMessage* message,
|
||||||
BMessage *)
|
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:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
void InputServer::HandleGetSetKeyMap(BMessage *,
|
void InputServer::HandleGetSetKeyMap(BMessage *,
|
||||||
BMessage *)
|
BMessage *)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1150,12 +1259,37 @@ status_t InputServer::StartStopDevices(const char* deviceName,
|
|||||||
* Method: InputServer::ControlDevices()
|
* Method: InputServer::ControlDevices()
|
||||||
* Descr:
|
* Descr:
|
||||||
*/
|
*/
|
||||||
status_t InputServer::ControlDevices(const char *,
|
status_t InputServer::ControlDevices(const char* deviceName,
|
||||||
input_device_type,
|
input_device_type deviceType,
|
||||||
unsigned long,
|
unsigned long command,
|
||||||
BMessage *)
|
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 MessageReceived(BMessage*);
|
||||||
|
|
||||||
void HandleSetMethod(BMessage*);
|
void HandleSetMethod(BMessage*);
|
||||||
void HandleGetSetMouseType(BMessage*, BMessage*);
|
void HandleGetMouseType(BMessage*, BMessage*);
|
||||||
void HandleGetSetMouseAcceleration(BMessage*, BMessage*);
|
void HandleSetMouseType(BMessage*, BMessage*);
|
||||||
void HandleGetSetKeyRepeatDelay(BMessage*, BMessage*);
|
void HandleGetMouseAcceleration(BMessage*, BMessage*);
|
||||||
|
void HandleSetMouseAcceleration(BMessage*, BMessage*);
|
||||||
|
void HandleGetKeyRepeatDelay(BMessage*, BMessage*);
|
||||||
|
void HandleSetKeyRepeatDelay(BMessage*, BMessage*);
|
||||||
void HandleGetKeyInfo(BMessage*, BMessage*);
|
void HandleGetKeyInfo(BMessage*, BMessage*);
|
||||||
void HandleGetModifiers(BMessage*, BMessage*);
|
void HandleGetModifiers(BMessage*, BMessage*);
|
||||||
void HandleSetModifierKey(BMessage*, BMessage*);
|
void HandleSetModifierKey(BMessage*, BMessage*);
|
||||||
void HandleSetKeyboardLocks(BMessage*, BMessage*);
|
void HandleSetKeyboardLocks(BMessage*, BMessage*);
|
||||||
void HandleGetSetMouseSpeed(BMessage*, BMessage*);
|
void HandleGetMouseSpeed(BMessage*, BMessage*);
|
||||||
|
void HandleSetMouseSpeed(BMessage*, BMessage*);
|
||||||
void HandleSetMousePosition(BMessage*, BMessage*);
|
void HandleSetMousePosition(BMessage*, BMessage*);
|
||||||
void HandleGetSetMouseMap(BMessage*, BMessage*);
|
void HandleGetMouseMap(BMessage*, BMessage*);
|
||||||
|
void HandleSetMouseMap(BMessage*, BMessage*);
|
||||||
void HandleGetKeyboardID(BMessage*, BMessage*);
|
void HandleGetKeyboardID(BMessage*, BMessage*);
|
||||||
void HandleGetSetClickSpeed(BMessage*, BMessage*);
|
void HandleGetClickSpeed(BMessage*, BMessage*);
|
||||||
void HandleGetSetKeyRepeatRate(BMessage*, BMessage*);
|
void HandleSetClickSpeed(BMessage*, BMessage*);
|
||||||
|
void HandleGetKeyRepeatRate(BMessage*, BMessage*);
|
||||||
|
void HandleSetKeyRepeatRate(BMessage*, BMessage*);
|
||||||
void HandleGetSetKeyMap(BMessage*, BMessage*);
|
void HandleGetSetKeyMap(BMessage*, BMessage*);
|
||||||
void HandleFocusUnfocusIMAwareView(BMessage*, BMessage*);
|
void HandleFocusUnfocusIMAwareView(BMessage*, BMessage*);
|
||||||
|
|
||||||
@@ -172,6 +179,13 @@ private:
|
|||||||
bool sSafeMode;
|
bool sSafeMode;
|
||||||
port_id sEventPort;
|
port_id sEventPort;
|
||||||
BPoint sMousePos;
|
BPoint sMousePos;
|
||||||
|
int32 sMouseType;
|
||||||
|
int32 sMouseSpeed;
|
||||||
|
int32 sMouseAcceleration;
|
||||||
|
bigtime_t sMouseClickSpeed;
|
||||||
|
int32 sKeyRepeatRate;
|
||||||
|
bigtime_t sKeyRepeatDelay;
|
||||||
|
mouse_map sMouseMap;
|
||||||
|
|
||||||
port_id ISPort;
|
port_id ISPort;
|
||||||
port_id EventLooperPort;
|
port_id EventLooperPort;
|
||||||
|
|||||||
Reference in New Issue
Block a user