gtk 实现键盘按键的读取
来源:互联网 发布:下歌的软件 编辑:程序博客网 时间:2024/04/29 15:43
//一个小工具,用来读取键盘按键信息。如按下CTRL+F8,显示CTRL+F8,并打印键值
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <glib.h>
#include <glib/gprintf.h>
#include <stdlib.h>
#include <string.h>
#include <gdk/gdkkeysyms.h>
gboolean key_value(GtkWidget *widget, GdkEventKey *event, gpointer data)
{
GtkWidget *label = (GtkWidget *)data;
guint keyvalue = event->keyval;
gchar temp[100];
strcpy(temp, "press: ");
if(event->state & GDK_CONTROL_MASK)
strcat(temp, "CTRL+");
if(event->state & GDK_SHIFT_MASK)
strcat(temp, "SHIFT+");
if(event->state & GDK_META_MASK)
strcat(temp, "ALT+");
if(event->state & GDK_LOCK_MASK)
strcat(temp, "LOCK+");
strcat(temp, gdk_keyval_name(event->keyval));
gtk_label_set_text (GTK_LABEL(label), temp);
g_print("%s, ",temp);
g_print("%s value 0x%x/n", gdk_keyval_name(event->keyval), event->keyval);
gtk_entry_set_text(GTK_ENTRY(widget), "");
return FALSE;
}
int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *hbox;
GtkWidget *label;
GtkWidget *button;
GtkWidget *entry;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
// gtk_window_set_default_size(GTK_WINDOW(window), 300, 300);
hbox = gtk_hbox_new(FALSE, 10);
gtk_container_set_border_width(GTK_CONTAINER(hbox), 10);
gtk_container_add (GTK_CONTAINER(window), hbox);
label = gtk_label_new ("please press any key");
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 10);
entry = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 10);
button = gtk_button_new_with_label ("close");
gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 10);
gtk_widget_show_all(window);
g_signal_connect(button, "clicked", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect(entry, "key-press-event", G_CALLBACK(key_value), label);
gtk_main();
return 0;
}
- gtk 实现键盘按键的读取
- C#读取键盘按键的程序
- 键盘的 meta 按键
- C#实现的三种方式实现模拟键盘按键
- 实现键盘多按键响应。
- 键盘监控的实现Ⅲ——按键消息…
- MFC单文档实现键盘按键的响应
- 两线式键盘(AD按键)电路的设计与实现
- android模拟器按键对应的键盘按键
- Android模拟器按键对应的键盘按键
- Gtk实现GUI键盘并终端显示
- 键盘上所有的python代码实现按键,再也不怕找不到按键了!
- 获取键盘的按键(Hook)
- 捕获键盘按键的示例
- 键盘按键失灵的修复
- 鼠标和键盘的按键
- 键盘各个按键的代码
- 键盘按键消息的获取
- 使用Delphi 通过WebServices 要想实现到.Net 或者是Java的WebServices 头验证.
- PHP 调试指南
- STEP7怎样使用多重背景数据块
- 维度及长度均可任意变形的动态数组
- Abaqus中部件(Part)、实体(Instance)和集合(Assembly)的关系
- gtk 实现键盘按键的读取
- 虚函数 虚基类 纯虚函数 友元
- Linux下扩展硬盘
- 给RDP加一个connection bar
- 2009工作心得总结
- IxEdit傻瓜式JavaScript开发工具(附下载、汉化版、视频教程)
- 求学
- 用WebService实现类XmlRpc远程调用
- netscreen ssg 140 恢复出厂设置的方法