1
我试图找出如何使用GdkDeviceManager,所以我写了一个应该打印所有物理输入设备下面的程序:如何实例化GdkDeviceManager?
#include <stdio.h>
#include <gdk/gdk.h>
int main(int argc, char **argv) {
GList *devices, *it;
GdkDeviceManager mgr;
devices = gdk_device_manager_list_devices(&mgr, GDK_DEVICE_TYPE_SLAVE);
for (it = devices; it != NULL; it = it->next) {
GdkDevice *dev = it->data;
printf("Current device: %s\n", gdk_device_get_name(dev));
}
g_list_free(devices);
return 0;
}
然而,当我尝试通过
gcc mousetest.c $(pkg-config --libs --cflags gtk+-3.0 gdk-3.0) -Wall
编译它
我得到
mousetest.c: In function ‘main’:
mousetest.c:6:22: error: storage size of ‘mgr’ isn’t known
GdkDeviceManager mgr;
^
mousetest.c:6:22: warning: unused variable ‘mgr’ [-Wunused-variable]
您不:设备管理器是由后端创建的。但是,更重要的是:为什么你认为你需要设备管理器呢? – ebassi
我想修补一个使用它来管理输入设备的程序,但其中一个设备正在消失,所以我想编写一个程序,通过GdkDeviceManager简单列出设备,以查看设备管理器是否忽略了它,或者不。 –