Showing posts with label simulation of events in C. Show all posts
Showing posts with label simulation of events in C. Show all posts

Wednesday, April 10, 2013

Simulating Key Events in C using XWindow Programming

lets write a small program, where we can simulate ALT+F4(close) key functionality in C using Xwindow System Programming.

// FileName: CloseSimulation.c

#include <X11/Xlib.h>
#include  <X11/keysym.h>
#include  <X11/extensions/XTest.h>
#include  <stdio.h>
void main()
{
    Display *display;
    unsigned int keycode[2];
    display = XOpenDisplay(NULL);
    //getting Alt and F4 key codes
    keycode[0] = XKeysymToKeycode(display, XK_Alt_L);
    keycode[1] = XKeysymToKeycode(display, XK_F4);
    //Pressing Alt
    XTestFakeKeyEvent(display, keycode[0], True, 0);
    //Pressing F4
    XTestFakeKeyEvent(display, keycode[1], True, 0);
    //Releasing F4
    XTestFakeKeyEvent(display, keycode[1], False, 0);
    //Releasing Alt
    XTestFakeKeyEvent(display, keycode[0], False, 0);
    XFlush(display);
}

To Run: gcc -lX11 -lXtst CloseSimulation.c
             ./a.out

Output: It simply simulates Alt+F4 and closes the terminal where you are running this program.

To Know executing commands through C program Click Here