读键盘输入和鼠标

时间:2014-07-26 12:15:46

标签: linux ubuntu input keyboard

我想在Linux Lubuntu x64下阅读键盘和鼠标输入。

我从输入中获得的字符和动作需要通过lan发送到另一台Linux计算机。

我不需要绝对的鼠标坐标。

我是X11的herard,但这仅适用于一个窗口。 是否有一种简单的方法可以在全球舞台上获得所有这些输入?

由于

1 个答案:

答案 0 :(得分:0)

我假设您正在运行桌面(不是普通控制台),即使用X11服务器(因此编写X11 客户端应用程序)。

请理解X11服务器是在连接到物理LCD屏幕和物理键盘和鼠标的台式机或笔记本电脑上运行的。所以X11服务器远程,但本地和物理上接近你的眼睛。 X11客户端应用程序可能是远程的,但通常是本地的。

我的目标不明确。

您需要了解有关X Window System core protocol的更多信息。您可以抓住鼠标和/或键盘并使用根窗口 - 即整个屏幕(因此可以获取事件)。看起来您想要编写window manager的某些部分。

另请阅读有关Extended Window Manager Hints

等惯例的详情

在实践中,您肯定希望使用某些工具包,例如QtGtk。也许libsdl非常适合您的需求(我不太了解)。

或许改进现有的窗口管理器和桌面环境更为现实。利用并为与您的目标相关的现有free software做出贡献。

请注意,Wayland可能会在几年内取代X11。

PS。这可能意味着许多个月(或几年)的工作。但我不确定你的目标是什么

附加物

如果您只需要将按键和鼠标移动发送到远程计算机,请考虑使用ssh -X(google for X over SSH),或使用一些远程X11应用程序(即设置DISPLAY=desktop:0远程Linux机器并在那里启动X11客户端应用程序),或者可能使远程机器上的软件成为专门的Web服务器(通过使用某些HTTP服务器库,如libonion)并使用桌面浏览器。

看起来你想让你的Linux桌面(或笔记本电脑)像X terminal那样工作。这是可能的,但今天(2014年)可能是一个坏主意。您可能希望您的Web浏览器是本地的,甚至可能是LibreOffice套件。让您的桌面至少(或多或少)thin client;如果远程计算机和应用程序没有X11客户端库,请参阅Vnc