有没有办法检测鼠标是否在X服务器上任何地方被移动或发生了键盘事件?我需要对用户对X11输入设备做任何事情做出反应。
我只是设法使用GTK在我自己的窗口上检测事件。
我感谢每一个信息(它不一定是完整的代码,一个切入点就足够了!)
答案 0 :(得分:2)
是的,您可以使用Xinput2扩展程序执行此操作。可以找到一个完整但相当小的工具来为光标事件执行此操作here (unclutter-xfixes)。作为免责声明,我是该工具的作者。
可以找到教程表单中的另一个优秀资源here。
使用XInput2有多重好处:
使用Xinput2轻松获取的是确切的位置(但您可以在需要时查询),但我的理解是您无论如何都不需要它。
加载扩展后,我不会在此处显示,您可以选择所有类似的事件:
#pragma strict
var coins = PlayerPrefs.GetInt("coins");
function OnTriggerEnter2D( other : Collider2D ) {
coins += 1;
PlayerPrefs.SetInt("coins", coins); // or however many points you want to give per coin
Destroy(this.gameObject);
}
在您的事件队列中,您现在可以查找相应的事件。