ACCESS_EVENT_SCROLL_DOWN = 0x00100000, /**< LB accessibility scroll down */
ACCESS_EVENT_SCROLL_MOVE = 0x00200000, /**< LB accessibility scroll move */
ACCESS_EVENT_SCROLL_UP = 0x00400000, /**< LB accessibility scroll up */
+ ACCESS_EVENT_VALUE_CHANGE = 0x00800000, /**< LB accessibility value change */
+ ACCESS_EVENT_MOUSE = 0x01000000, /**< Give mouse event to highlight object */
+ ACCESS_EVENT_BACK = 0x02000000, /**< Go back to a previous view ex: pop naviframe item */
+ ACCESS_EVENT_OVER = 0x04000000, /**< Mouse over an object */
+ ACCESS_EVENT_READ = 0x08000000, /**< Highlight an object */
+ ACCESS_EVENT_ENABLE = 0x00000001, /**< Enable highlight and read ability */
+ ACCESS_EVENT_DISABLE = 0x00000002, /**< Disable highlight and read ability */
LB_ACCESS_HIGHLIGHT = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_HIGHLIGHT, /**< Access event - Highlight an object in the livebox */
LB_ACCESS_HIGHLIGHT_NEXT = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_HIGHLIGHT_NEXT, /**< Access event - Move highlight to the next object in a livebox */
LB_ACCESS_SCROLL_DOWN = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_SCROLL_DOWN, /**< Access event - scroll down */
LB_ACCESS_SCROLL_MOVE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_SCROLL_MOVE, /**< Access event - scroll move */
LB_ACCESS_SCROLL_UP = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_SCROLL_UP, /**< Access event - scroll up */
+ LB_ACCESS_VALUE_CHANGE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_VALUE_CHANGE, /**< Access event - value change */
+ LB_ACCESS_MOUSE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_MOUSE, /**< Access event - mouse */
+ LB_ACCESS_BACK = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_BACK, /**< Access event - back */
+ LB_ACCESS_OVER = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_OVER, /**< Access event - over */
+ LB_ACCESS_READ = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_READ, /**< Access event - read */
+ LB_ACCESS_ENABLE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_ENABLE, /**< Access event - enable */
+ LB_ACCESS_DISABLE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_DISABLE, /**< Access event - disable */
PD_ACCESS_HIGHLIGHT = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_HIGHLIGHT, /**< Access event - Highlight an object in the PD */
PD_ACCESS_HIGHLIGHT_NEXT = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_HIGHLIGHT_NEXT, /**< Access event - Move highlight to the next object in a PD */
PD_ACCESS_SCROLL_DOWN = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_SCROLL_DOWN, /**< Access event - scroll down */
PD_ACCESS_SCROLL_MOVE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_SCROLL_MOVE, /**< Access event - scroll move */
PD_ACCESS_SCROLL_UP = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_SCROLL_UP /**< Access event - scroll up */
+ PD_ACCESS_VALUE_CHANGE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_VALUE_CHANGE, /**< Access event - value change */
+ PD_ACCESS_MOUSE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_MOUSE, /**< Access event - mouse */
+ PD_ACCESS_BACK = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_BACK, /**< Access event - back */
+ PD_ACCESS_OVER = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_OVER, /**< Access event - over */
+ PD_ACCESS_READ = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_READ, /**< Access event - read */
+ PD_ACCESS_ENABLE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_ENABLE, /**< Access event - enable */
+ PD_ACCESS_DISABLE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_DISABLE /**< Access event - disable */
};
/**
FILE *__file_log_fp;
#endif
+#define ACCESS_TYPE_DOWN 0
+#define ACCESS_TYPE_MOVE 1
+#define ACCESS_TYPE_UP 2
+#define ACCESS_TYPE_CUR 0
+#define ACCESS_TYPE_NEXT 1
+#define ACCESS_TYPE_PREV 2
+#define ACCESS_TYPE_OFF 3
+
static int default_launch_handler(struct livebox *handler, const char *appid, void *data);
enum event_state {
}
}
-static int send_access_event(struct livebox *handler, const char *event, int x, int y)
+static int send_access_event(struct livebox *handler, const char *event, int x, int y, int type)
{
struct packet *packet;
double timestamp;
timestamp = util_timestamp();
- packet = packet_create(event, "ssdii", handler->common->pkgname, handler->common->id, timestamp, x, y);
+ packet = packet_create(event, "ssdiii", handler->common->pkgname, handler->common->id, timestamp, x, y, type);
if (!packet) {
ErrPrint("Failed to build packet\n");
return LB_STATUS_ERROR_FAULT;
char cmd[32] = { '\0', };
char *ptr = cmd;
int ret;
+ int type = 0;
if (!handler || handler->state != CREATE) {
ErrPrint("Handler is invalid\n");
switch (type & ~(ACCESS_EVENT_PD_MASK | ACCESS_EVENT_LB_MASK)) {
case ACCESS_EVENT_HIGHLIGHT:
strcpy(ptr, "_access_hl");
+ type = ACCESS_TYPE_CUR;
break;
case ACCESS_EVENT_HIGHLIGHT_NEXT:
- strcpy(ptr, "_access_hl_next");
+ strcpy(ptr, "_access_hl");
+ type = ACCESS_TYPE_NEXT;
break;
case ACCESS_EVENT_HIGHLIGHT_PREV:
- strcpy(ptr, "_access_hl_prev");
+ strcpy(ptr, "_access_hl");
+ type = ACCESS_TYPE_PREV;
+ break;
+ case ACCESS_EVENT_UNHIGHLIGHT:
+ strcpy(ptr, "_access_hl");
+ type = ACCESS_TYPE_OFF;
break;
case ACCESS_EVENT_ACTIVATE:
strcpy(ptr, "_access_activate");
break;
case ACCESS_EVENT_ACTION_DOWN:
- strcpy(ptr, "_access_action_down");
+ strcpy(ptr, "_access_action");
+ type = ACCESS_TYPE_DOWN;
break;
case ACCESS_EVENT_ACTION_UP:
- strcpy(ptr, "_access_action_up");
- break;
- case ACCESS_EVENT_UNHIGHLIGHT:
- strcpy(ptr, "_access_unhighlight");
+ strcpy(ptr, "_access_action");
+ type = ACCESS_TYPE_UP;
break;
case ACCESS_EVENT_SCROLL_DOWN:
- strcpy(ptr, "_access_scroll_down");
+ strcpy(ptr, "_access_scroll");
+ type = ACCESS_TYPE_DOWN;
break;
case ACCESS_EVENT_SCROLL_MOVE:
- strcpy(ptr, "_access_scroll_move");
+ strcpy(ptr, "_access_scroll");
+ type = ACCESS_TYPE_MOVE;
break;
case ACCESS_EVENT_SCROLL_UP:
- strcpy(ptr, "_access_scroll_up");
+ strcpy(ptr, "_access_scroll");
+ type = ACCESS_TYPE_UP;
+ break;
+ case ACCESS_EVENT_VALUE_CHANGE:
+ strcpy(ptr, "_access_value_change");
+ break;
+ case ACCESS_EVENT_MOUSE:
+ strcpy(ptr, "_access_mouse");
+ break;
+ case ACCESS_EVENT_BACK:
+ strcpy(ptr, "_access_back");
+ break;
+ case ACCESS_EVENT_OVER:
+ strcpy(ptr, "_access_over");
+ break;
+ case ACCESS_EVENT_READ:
+ strcpy(ptr, "_access_read");
+ break;
+ case ACCESS_EVENT_ENABLE:
+ strcpy(ptr, "_access_enable");
+ type = 1;
+ break;
+ case ACCESS_EVENT_DISABLE:
+ strcpy(ptr, "_access_enable");
+ type = 0;
break;
default:
return LB_STATUS_ERROR_INVALID;
cb = default_access_event_cb;
}
- ret = send_access_event(handler, cmd, x * w, y * h);
+ ret = send_access_event(handler, cmd, x * w, y * h, type);
if (ret == (int)LB_STATUS_SUCCESS) {
handler->cbs.access_event.cb = cb;
handler->cbs.access_event.data = data;