我是靠谱客的博主 凶狠枕头,最近开发中收集的这篇文章主要介绍linux c语言移动鼠标,linux下c语言实现鼠标响应事件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我在实现一个more命令,当实现按键ctrl+q这些按键时,如果产生消息响应。麻烦高手指点小,在线等···

|

捕捉键盘事件很麻烦,你完全可以用快捷键来做。

GTK+中实现的快捷键最简单的方法是通过GtkAccelGroup对象,它可以设置多组与窗体构件相关的快捷键。当用户按下某一组快捷键时,与该快捷键连接的信号会被抛出。

GtkAccelGroup*  gtk_accel_group_new(void);

void gtk_window_add_accel_group(GtkWindow *window,// 与快捷键连接的窗体构件

GtkAccelGroup *accel_group);// 被连接的GtkAccelGroup对象

void gtk_widget_add_accelerator(GtkWidget *widget,// 与快捷键连接的构件

const gchar *accel_signal,// 与快捷键连接的信号

GtkAccelGroup *accel_group,// 被连接的GtkAccelGroup对象

guint accel_key,// 快捷键

GdkModifierType accel_mods,// 控制键

GtkAccelFlags accel_flags);// 是否在快捷标签中显示快捷键的标志

|

gpm是Linux console下的滑鼠驱动程序,它主要提供文字模式下的滑鼠事件处

理。Linux下文字界面的滑鼠几乎都是用gpm来处理。

gpm的文件在gpm原始码的doc目录中,详细的说明可叁考该目录中的文件gpm

programming guide,此处只提供给您KickStart的一些技巧及一些叁考说明。

特别注意到以下的范例,需在console下执行,不可在X Window的 Terminal下

执行。

范例 : gpm_mouse.c

gpm原始码中有一个mev.c的程序,主要用来测试滑鼠状态。事实上,mev.c是个

很好的范例,本范例便是取自mev.c,经过简化修改而来。

#include

#include

#include

#include

void main(int argc,char **argv)

{

fd_set readset;

Gpm_Event event;

Gpm_Connect conn;

conn.eventMask = ~0;

conn.defaultMask = ~GPM_HARD;

conn.maxMod = 0;

conn.minMod = 0;

if (Gpm_Open(&conn,0)==-1) {

printf("Can not open mouse connectionn");

exit(1);

}

while (1) {

FD_ZERO(&readset);

FD_SET(gpm_fd,&readset);

select(gpm_fd+1,&readset,0,0,0);

if (FD_ISSET(gpm_fd,&readset)) {

if (Gpm_GetEvent(&event)>0) {

printf("mouse: event 0x%02X, at %2i %2i (delta %2i %2i),"

"button %i, modifiers 0x%02Xrn",

event.type,

event.x,event.y,

event.dx,event.dy,

event.buttons,

event.modifiers

);

}

}

}

while (Gpm_Close());

}

最后

以上就是凶狠枕头为你收集整理的linux c语言移动鼠标,linux下c语言实现鼠标响应事件的全部内容,希望文章能够帮你解决linux c语言移动鼠标,linux下c语言实现鼠标响应事件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部