Created
March 4, 2018 13:00
-
-
Save lostdj/77f433480bde32cbbf5fa40785610d63 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
define X | |
load-library "libX11.so" | |
load-library "libXtst.so" | |
import-c "import_x11.c" " | |
// | |
#include <stdint.h> | |
// Sigh... | |
int usleep(uint32_t usec); | |
// | |
#ifndef _Xconst | |
#define _Xconst const | |
#endif /* _Xconst */ | |
#define Bool int | |
// | |
typedef struct {} Display; | |
typedef uint32_t XID; | |
typedef XID KeySym; | |
typedef unsigned char KeyCode; | |
// | |
extern Display *XOpenDisplay( | |
_Xconst char* /* display_name */ | |
); | |
extern int XFlush( | |
Display* /* display */ | |
); | |
extern KeyCode XKeysymToKeycode( | |
Display* /* display */, | |
KeySym /* keysym */ | |
); | |
// | |
extern int XTestFakeKeyEvent( | |
Display* /* dpy */, | |
unsigned int /* keycode */, | |
Bool /* is_press */, | |
unsigned long /* delay */ | |
); | |
// | |
#define XK_Return 0xff0d /* Return, enter */ | |
#define XK_Up 0xff52 /* Move up, up arrow */ | |
#define XK_Down 0xff54 /* Move down, down arrow */ | |
" | |
list | |
"-Wno-macro-redefined" | |
let display = | |
X.XOpenDisplay null | |
#print display | |
#while true | |
X.XTestFakeKeyEvent | |
display | |
X.XKeysymToKeycode | |
display | |
X.XK_Up | |
1 | |
0 | |
X.XFlush display | |
X.usleep 500000 | |
X.XTestFakeKeyEvent | |
display | |
X.XKeysymToKeycode | |
display | |
X.XK_Down | |
1 | |
0 | |
X.XFlush display | |
X.usleep 500000 | |
do | |
X.usleep 2000000 | |
while true | |
X.XTestFakeKeyEvent | |
display | |
X.XKeysymToKeycode | |
display | |
X.XK_Return | |
1 | |
0 | |
X.XTestFakeKeyEvent | |
display | |
X.XKeysymToKeycode | |
display | |
X.XK_Return | |
0 | |
0 | |
X.XFlush display | |
X.usleep 500000 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment