Add frontend for conference/toggle functions
[zhone.git] / src / illume_kbd.c
blobab9b6e0c30095c23828e443cc25dca1ff7538185
1 #include <string.h>
2 #include <X11/Xlib.h>
3 #include <Ecore_X.h>
4 #include <Ecore_X_Atoms.h>
6 typedef enum {
7 MTPRemoteNone = 0,
8 MTPRemoteShow,
9 MTPRemoteHide,
10 MTPRemoteToggle,
11 } MTPRemoteOperation;
13 void illume_kbd_protocol_send_event(MTPRemoteOperation op)
15 XEvent xev;
16 memset(&xev, 0, sizeof(XEvent));
18 Ecore_X_Display *disp;
19 disp = ecore_x_display_get();
21 xev.xclient.type = ClientMessage;
22 xev.xclient.display = disp;
23 xev.xclient.window = ecore_x_window_root_first_get();
24 xev.xclient.message_type = ecore_x_atom_get("_MTP_IM_INVOKER_COMMAND");
25 xev.xclient.format = 32;
26 xev.xclient.data.l[0] = op;
28 XSendEvent(disp,
29 ecore_x_window_root_first_get(),
30 False,
31 SubstructureRedirectMask | SubstructureNotifyMask,
32 &xev);
34 XSync(ecore_x_display_get(), False);
37 void illume_kbd_show()
39 illume_kbd_protocol_send_event(MTPRemoteShow);
42 void illume_kbd_hide()
44 illume_kbd_protocol_send_event(MTPRemoteHide);