Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "plugin.h"
- #define DEFAULT_DELAY 10
- enum plugin_status plugin_start(const void *param)
- {
- if(!param)
- rb->splash(2*HZ, "Execute a USBScript file!");
- const char *path = (const char*) param;
- int fd = rb->open(path, O_RDONLY);
- int line = 0;
- int default_delay = DEFAULT_DELAY;
- while(1)
- {
- char instr_buf[256];
- if(rb->read_line(fd, instr_buf, sizeof(instr_buf)) == 0)
- return PLUGIN_OK;
- ++line;
- char *tok = NULL, *save = NULL;
- /* execute all the commands on this line/instruction */
- do {
- tok = rb->strtok_r(instr_buf, " ", &save);
- if(rb->strcmp(tok, "GUI") == 0) {
- rb->usb_hid_send(HID_USAGE_PAGE_KEYBOARD_KEYPAD, HID_KEYBOARD_LEFT_GUI);
- }
- else if(rb->strcmp(tok, "RGUI") == 0) {
- rb->usb_hid_send(HID_USAGE_PAGE_KEYBOARD_KEYPAD, HID_KEYBOARD_RIGHT_GUI);
- }
- else if(rb->strcmp(tok, "DELAY") == 0) {
- /* delay N 100ths of a sec */
- tok = rb->strtok_r(instr_buf, " ", &save);
- rb->sleep((HZ / 100) * rb->atoi(tok));
- }
- else if(rb->strcmp(tok, "CONTROL") == 0) {
- rb->usb_hid_send(HID_USAGE_PAGE_KEYBOARD_KEYPAD, HID_KEYBOARD_LEFT_CONTROL);
- }
- else if(rb->strcmp(tok, "ESCAPE") == 0) {
- rb->usb_hid_send(HID_USAGE_PAGE_KEYBOARD_KEYPAD, HID_KEYBOARD_ESCAPE);
- }
- else if(rb->strcmp(tok, "RCTRL") == 0) {
- rb->usb_hid_send(HID_USAGE_PAGE_KEYBOARD_KEYPAD, HID_KEYBOARD_RIGHT_CONTROL);
- }
- else if(rb->strcmp(tok, "ALT") == 0) {
- rb->usb_hid_send(HID_USAGE_PAGE_KEYBOARD_KEYPAD, HID_KEYBOARD_LEFT_ALT);
- }
- else if(rb->strcmp(tok, "RALT") == 0) {
- rb->usb_hid_send(HID_USAGE_PAGE_KEYBOARD_KEYPAD, HID_KEYBOARD_RIGHT_ALT);
- }
- else if(rb->strcmp(tok, "DEFAULT_DELAY") == 0) {
- /* sets time between instructions, 100ths of a second */
- tok = rb->strtok_r(instr_buf, " ", &save);
- default_delay = rb->atoi(tok) * (HZ / 100);
- }
- else if(rb->strcmp(tok, "REM") == 0) {
- break;
- }
- rb->sleep(default_delay);
- } while(tok);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement