linux下模擬鍵盤的幾種方法

2021-05-22 15:23:31 字數 1188 閱讀 6923

1、使用gtk中的gdkevent

gdkevent *event;

event = gdk_event_new (gdk_key_press);              //按鍵按下

event->key.send_event = true;

event->key.keyval = gdk_1;

event->key.window = window;

gtk_main_do_event (event);

gdk_event_free (event);

2、使用xlib

#include

#include

display *disp = xopendisplay (null);

keysym = xk_1;

//true為按下,false為彈起

xtestfakekeyevent (disp, xkeysymtokeycode (disp, keysym), true, currenttime);

xtestfakekeyevent (disp, xkeysymtokeycode (disp, keysym), false, currenttime);

xclosedisplay (disp);

編譯的時候要加上-lxtst選項,這種情況依賴於xlib。

3、直接寫鍵盤裝置

#include

/* open keyboard */

fd_kb = open ("/dev/input/event0", o_rdwr);

struct input_event event;

event.code = key_1;

event.type = ev_key;

event.value = 1;                 //1表示按下,0表示釋放,2表示長按

gettimeofday (&event.time, 0);

if (write (fd_kb, &event, sizeof (event)) != sizeof (event))

event.value = 0;

if (write (fd_kb, &event, sizeof (event)) != sizeof (event))

這種方法是最通用的,不管底層用的是x還是dfb,都可以用,推薦適用這種方法。以上三種方法都在debian下驗證通過。

Linux下安裝軟體的幾種方法

怎麼安裝應用軟體?我的軟體安裝在什麼地方?如何刪除不要的應用軟體?下面,我們就一起來認識一下這些方面的問題。一 解析linux應用軟體安裝包 通常linux應用軟體的安裝包有三種 1 tar包,如software 1.2.3 1.tar.gz。它是使用unix系統的打包工具tar打包的。2 rpm包...

linux下刪除空行的幾種方法

在檢視linux下的配置檔案時,為了便於一目了然的檢視,經常會刪除空行和 頭的行。而linux在刪除空行的方法很多,grep sed awk tr等工具都能實現。現總結如下 1 grep grep v file 2 sed sed d file 或sed n p file 3 awk awk fil...

Linux下安裝軟體的幾種方法

怎麼安裝應用軟體?我的軟體安裝在什麼地方?如何刪除不要的應用軟體?下面,我們就一起來認識一下這些方面的問題。一 解析linux應用軟體安裝包 通常linux應用軟體的安裝包有三種 1 tar包,如software 1.2.3 1.tar.gz。它是使用unix系統的打包工具tar打包的。2 rpm包...