我已经做了一个程序,我可以控制运行我的接收器脚本(Python)的linux计算机(在本例中是一个raspberry pi)。到目前为止,我几乎可以发送所有的字符,字母和数字给它。问题是,鼠标移动。现在我用NUMPAD来控制鼠标移动,但是它很慢,只能移动+x或+y,不能同时移动。你知道吗
所以我想知道我是否可以冻结我的鼠标在程序中的位置,当我试图移动鼠标时,它会发送鼠标移动的变化。意思是如果我把鼠标拖到哪里,它会在UDP包中发送类似“mouse(+10,-4)”的信息。我不想让它发垃圾邮件接收器.py使用UDP数据包,所以我想一个小计时器会很好。 我最想知道的是,当鼠标在程序中运行时,我怎样才能冻结它。你知道吗
以下是我用来发送数字、符号和字母的代码:
if (piCheck.Checked) //As long as this is checked, every letter and mousemovement should be sent.
{
try
{
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
string IpAddress = textBox1.Text;
IPAddress serverAddr = IPAddress.Parse(IpAddress);
IPEndPoint endPoint = new IPEndPoint(serverAddr, _PORT);
byte[] send_buffer = UTF8Encoding.UTF8.GetBytes(e.KeyCode.ToString());
sock.SendTo(send_buffer, endPoint);
textinfo.Text = "It's fine...? Yea it is.";
}
catch (System.FormatException)
{
textinfo.Text = "SENDING ERROR";
}
}
是的,我对代码的理解远不止这些,包括上键、CTRL、SHIFT等等。。你知道吗
您可能不太了解Python,但下面是一些代码:
######MOUSE######
elif data == 'NumPad8':
os.system("xte 'mousermove 0 -6'")
elif data == 'NumPad6':
os.system("xte 'mousermove 6 0'")
elif data == 'NumPad5':
os.system("xte 'mousermove 0 6'")
elif data == 'NumPad4':
os.system("xte 'mousermove -6 0'")
elif data == 'NumPad0':
os.system("xte 'mouseclick 1'")
elif data == 'CTRLNumPad0':
os.system("xte 'keydown Control_L' 'mouseclick 1' 'keyup Control_L'")
elif data == 'Insert':
os.system("xte 'keydown Shift_L' 'mouseclick 1' 'keyup Shift_L'")
elif data == 'Decimal':
os.system("xte 'mouseclick 3'")
elif data == 'Subtract':
os.system("xte 'mouseclick 4'")
elif data == 'Add':
os.system("xte 'mouseclick 5'")
它使用扩展Xautomation。(sudo apt get安装xautomation)
请帮忙。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐