if (strncmp(result, E_INFO_INPUT_RESULT_NONE, sizeof(E_INFO_INPUT_RESULT_NONE)))
printf("Mouse_accel Failed: %s\n", result);
+ else
+ printf("Mouse_accel Success\n");
return;
char *
e_info_server_input_mouse_accel_set(int state)
{
- const Eina_List *l, *ll, *lll;
- E_Input_Device *dev;
- E_Input_Seat *seat;
- E_Input_Evdev *edev;
-
if (_e_info_input.gen.fd < 0) return "Initialize device first";
- EINA_LIST_FOREACH(e_input_devices_get(), l, dev)
- {
- EINA_LIST_FOREACH(dev->seats, ll, seat)
- {
- EINA_LIST_FOREACH(seat->devices, lll, edev)
- {
- if (!e_util_strcmp(_e_info_input.gen.name, libinput_device_get_name(edev->device)))
- {
- if (state == 1)
- e_input_evdev_mouse_accel_enable(edev, EINA_TRUE);
- else
- e_input_evdev_mouse_accel_enable(edev, EINA_FALSE);
- break;
- }
- }
- }
- }
+ if (e_input_device_mouse_accel_enable_set(_e_info_input.gen.name, state))
+ return E_INFO_INPUT_RESULT_NONE;
- return E_INFO_INPUT_RESULT_NONE;
+ return "Failed to set mouse_accel";
}
char *
EINTERN Eina_Bool e_input_evdev_key_remap_set(E_Input_Evdev *edev, int *from_keys, int *to_keys, int num);
EINTERN Eina_Bool e_input_evdev_touch_calibration_set(E_Input_Evdev *edev, float matrix[6]);
EINTERN Eina_Bool e_input_evdev_mouse_accel_speed_set(E_Input_Evdev *edev, double speed);
-EINTERN Eina_Bool e_input_evdev_mouse_accel_enable(E_Input_Evdev *edev, Eina_Bool enable);
EINTERN unsigned int e_input_evdev_touch_pressed_get(E_Input_Evdev *edev);
E_API const Eina_List *e_input_devices_get(void);
EINTERN Eina_Bool e_input_device_subtype_set(E_Input_Device *dev, const char *input, const char *subtype);
+E_API Eina_Bool e_input_device_mouse_accel_enable_set(const char *device_name, Eina_Bool enable);
+
#endif
#endif
return EINA_TRUE;
}
+
+E_API Eina_Bool
+e_input_device_mouse_accel_enable_set(const char *device_name, Eina_Bool enable)
+{
+ const Eina_List *l, *ll, *lll;
+ E_Input_Device *dev;
+ E_Input_Seat *seat;
+ E_Input_Evdev *edev;
+ Eina_Bool found = EINA_FALSE;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(device_name, EINA_FALSE);
+
+ EINA_LIST_FOREACH(e_input_devices_get(), l, dev)
+ {
+ EINA_LIST_FOREACH(dev->seats, ll, seat)
+ {
+ EINA_LIST_FOREACH(seat->devices, lll, edev)
+ {
+ if ((edev->caps & E_INPUT_SEAT_POINTER) &&
+ (!e_util_strcmp(device_name, libinput_device_get_name(edev->device))))
+ {
+ found = EINA_TRUE;
+ edev->disable_acceleration = !enable;
+ }
+ }
+ }
+ }
+
+ if (!found)
+ {
+ ERR("Failed to find input device. device(%s)", device_name);
+ return EINA_FALSE;
+ }
+
+ INF("device(%s) mouse_accel is %s", device_name, enable ? "ON" : "OFF");
+
+ return EINA_TRUE;
+}
return res;
}
-
-EINTERN Eina_Bool
-e_input_evdev_mouse_accel_enable(E_Input_Evdev *edev, Eina_Bool enable)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(edev, EINA_FALSE);
- edev->disable_acceleration = !enable;
-
- return EINA_TRUE;
-}