精华内容
下载资源
问答
  • Python 技术篇-pyHook键盘鼠标监听事件,监测鼠标键盘按键实例演示 键盘鼠标监听事件。 本来很简单的东西,网上很多文章一堆东西甩在哪,很难看懂,让人感觉有多难。学东西就是要一步一步的来,咱们先入门,然后再去...

    本来很简单的东西,网上很多文章一堆东西甩在哪,很难看懂,让人感觉有多难。学东西就是要一步一步的来,咱们先入门,然后再去看那些更高级的内容,下面我就来给大家演示。

    我们用到的库有 pyHook 和 pywin32 这两个库。
    pywin32pyHook 的安装教程

    pythoncom 就是属于 pywin32 的。

    import pyHook
    import pythoncom
    
    # 监听到鼠标事件调用
    def onMouseEvent(event):
    	if(event.MessageName!="mouse move"):# 因为鼠标一动就会有很多mouse move,所以把这个过滤下
            print(event.MessageName)
        return True # 为True才会正常调用,如果为False的话,此次事件被拦截
    
    # 监听到键盘事件调用
    def onKeyboardEvent(event):
        print(event.Key)# 返回按下的键
        return True
    
    def main():
    	# 创建管理器
        hm = pyHook.HookManager()
        # 监听键盘
        hm.KeyDown = onKeyboardEvent   
        hm.HookKeyboard()  
        # 监听鼠标 
        hm.MouseAll = onMouseEvent   
        hm.HookMouse()
        # 循环监听
        pythoncom.PumpMessages() 
     
    if __name__ == "__main__":
        main()
    

    效果如下:
    在这里插入图片描述
    喜欢的点个赞❤吧!

    展开全文
  • 小熊鼠标键盘模拟工具

    热门讨论 2014-08-29 23:07:44
    小熊鼠标键盘模拟工具
  • VTK鼠标键盘事件

    千次阅读 2019-04-30 10:32:28
    VTK鼠标键盘事件会优先于QT的鼠标键盘事件,而且会吃掉这些事件,使得QT的 //void mouseMoveEvent(QMouseEvent * event) override; 这种事件得不到执行。 这主要是通过QVTKOpenGLWidget类来实现的。 所以我们...

    VTK鼠标键盘事件会优先于QT的鼠标键盘事件,而且会吃掉这些事件,使得QT的

        //void mouseMoveEvent(QMouseEvent * event) override;
    这种事件得不到执行。

    这主要是通过QVTKOpenGLWidget类来实现的。

    所以我们只能使用VTK的鼠标响应机制来实现鼠标键盘的控制。

     

    VTK鼠标键盘事件的响应是用观察者模式,也就是先注册观察者。等事件发生的时候,自动回调观察者的成员函数。

    第一步,创建观察者类,实现回调函数

    #pragma once
    
    #include "vtkCommand.h"
    #include "SeriesPreviewWindow.h"
    
    class SeriesPreviewWindowCallback : public vtkCommand
    {
    public:
    	static SeriesPreviewWindowCallback* New()
    	{
    		return new SeriesPreviewWindowCallback;
    	}
    	SeriesPreviewWindowCallback();
    	~SeriesPreviewWindowCallback();
    	void Execute(vtkObject *caller, unsigned long eventId, void *callData) override;
    	void SetParentWindow(SeriesPreviewWindow* window);	
    
    protected:
    	SeriesPreviewWindow * m_seriesPreviewWindow;
    };

    第二步,实现回调函数

    void SeriesPreviewWindowCallback::Execute(vtkObject *caller, unsigned long eventId, void *callData)
    {
    	switch (eventId)
    	{
    	case vtkCommand::LeftButtonPressEvent:
    	{
    		***::Instance()->SetMovingSeriesWindow(m_seriesPreviewWindow);
    		break;
    	}
    	case vtkCommand::MouseMoveEvent:
    	{

    第三步,在窗口对象初始化的时候注册回调对象

    vtkNew<SeriesPreviewWindowCallback> callback;//会自动释放
    callback->SetParentWindow(this);	
    interactor->AddObserver(vtkCommand::LeftButtonPressEvent, callback, 5.5);//左键按下选中当前序列缩略图子窗口
    interactor->AddObserver(vtkCommand::MouseMoveEvent, callback, 5.5);//左键按下选中当前序列缩略图子窗口

     

    展开全文
  • 问题描述:即使安装了VMware Tools也无法在虚拟机中使用鼠标键盘; 解决办法: 系统偏好与设置 -> 安全性与隐私 ->选中“隐私Tab” ->左侧选中“辅助功能” ->点击左下角“????点击按钮解锁以进行更改”...

    问题描述:即使安装了VMware Tools也无法在虚拟机中使用鼠标键盘;

    解决办法:
    系统偏好与设置 -> 安全性与隐私 ->选中“隐私Tab” ->左侧选中“辅助功能” ->点击左下角“?点击按钮解锁以进行更改” ->输入开机密码 -> 勾选“VMware Fusion.app” -> 完成。

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 有了鼠标键盘的识别,就可以做一些小游戏了。

    前面我们学习了Processing中基本图形的绘制,本篇来介绍Processing中对于鼠标键盘输入设备的识别,有了输入设备,我们就可以更加灵活的进行控制了。

    1. 鼠标坐标

    在Processing中使用mouseXmouseY变量来存储当前鼠标的坐标位置,默认值都为0。在程序运行中,这两个变量会不断刷新保存最新的鼠标坐标信息。

    void setup()
    {
      size(480, 120);
      background(0, 0, 255);
      fill(0, 255, 0);
    }
    
    void draw()
    {
      ellipse(mouseX, mouseY, 20, 20);
    }
    

    鼠标跟随

    此外pmouseXpmouseY这两个变量用来存储前一帧鼠标的位置数据,如同mouseXmouseY,这两个系统变量在每次运行draw()函数时都会刷新。

    我们可以配合使用它们,通过测量鼠标当前位置和上一帧位置之间的距离,来计算鼠标的移动速度。这里的距离计算借助**dist()**函数,参数为被测量的两个点的坐标。

    void setup()
    {
      size(480, 120);
      background(0, 0, 255);
      stroke(0, 255, 0);
    }
    
    void draw()
    {
      float weight=dist(mouseX, mouseY, pmouseX, pmouseY);
      strokeWeight(weight);
      line(mouseX, mouseY, pmouseX, pmouseY);
    }
    

    如上代码,将获取的前后鼠标位置之间的距离赋值给描边粗细函数strokeWeight(),当鼠标移动速度缓慢时画出来的是细线,当移动速度快时,画出的线就会变粗。

    画线粗细

    2. 鼠标单击

    除了定位鼠标之外,Processing还能捕获鼠标是否被单击。使用mousePressed变量来标记鼠标的单击和释放状态。这个变量是布尔类型的,当按键被按下为真,松开为假。

    一般我们的鼠标都是多于一个按键的,Processing使用mouseButton变量来存储被点击的按键类型,它们的值为LEFTCENTERRIGHT

    void setup()
    {
      size(480, 120);
      background(0, 0, 255);
    }
    
    void draw()
    {
      if (mousePressed)
      {
        if (mouseButton==LEFT)
        {
          fill(0, 255, 0);
          ellipse(100, 50, 50, 50);
        } else if (mouseButton==CENTER) {
          fill(0);
          ellipse(200, 50, 50, 50);
        } else {
          fill(255, 0, 0);
          ellipse(300, 50, 50, 50);
        }
      } else {
        background(0, 0, 255);
      }
    }
    

    如上代码,当鼠标左键按下会在左侧画一个绿色的圆,当中间滚轮被按下会在中间画一个黑色的圆,当右键被按下会在右侧画一个红色的圆,当任何按键抬起后清除显示。值得注意的是,当三个按键都被按下,三个圆都会显示,但当其中任何一个鼠标按键被释放,则全部清除显示。

    鼠标单击

    3. 键盘按键

    Processing中也会跟踪键盘上哪一个按键被按下,以及最后一个被按下的键。使用keyPressed变量来标记按键状态,当按键被按下为真,松开按键为假。key变量存储最后一个被按下的键的信息,其类型为字符型(char),每当有新的按键被按下,key的值就会刷新。

    void setup()
    {
      size(480, 120);
      background(0, 0, 255);
      textSize(100);
      textAlign(CENTER);
    }
    
    void draw()
    {
      background(0, 0, 255);
      text(key, 200, 100);
    }
    

    如上代码用到了绘制字体相关函数,**textSize()**用来设置字体大小,**textAlign()**设置文字对齐方式,**text()**函数用来绘制字体。

    绘制字母

    我们可以通过比较操作符来判断特定字符是否被按下,但是像Shift、Alt以及方向按键却很难这么做,因为它们没有特定的字符表示。我们需要先检测是否有编码为CODED的按键被按下,然后再用keyCode变量来判断具体是哪一个特殊按键,常用值为ALTSHIFTCONTROL,以及方向键UPDOWNLEFTRIGHT

    int x = 350;
    int y = 150;
    void setup()
    {
      size(700, 300);
      background(0, 0, 255);
      fill(0, 255, 0);
    }
    
    void draw()
    {
      if (keyPressed && (key == CODED))
      {
        switch(keyCode)
        {
        case LEFT:
          x-=10;
          break;
        case RIGHT:
          x+=10;
          break;
        case UP:
          y-=5;
          break;
        case DOWN:
          y+=5;
          break;
        }
      }
      ellipse(x, y, 80, 80);
    }
    

    方向控制

    有了对鼠标键盘输入设备的识别,我们就可以做很多好玩的小游戏了,例如贪吃蛇、俄罗斯方块等等,你也来试试吧。


    关注公众号「TonyCode」,更多精彩内容分享。
    回复「1024」获取1000G学习资料。
    个人博客
    在这里插入图片描述

    展开全文
  • python控制、监听鼠标键盘

    千次阅读 2020-05-25 18:28:07
    文章目录前言前期工作控制键盘监听键盘控制鼠标监听鼠标pywin32模块简述控制鼠标键盘可以用来干什么?简易的消息轰炸机pynput版本win32版本用代码弹奏电子钢琴制作吃鸡游戏脚本 前言 python中控制、监听键盘鼠标常用...
  • PyMouse模拟鼠标键盘操作

    千次阅读 2019-04-25 21:30:48
    PyMouse模拟鼠标键盘操作使用PyMouse实现模拟鼠标键盘操作-----解决方案11)安装[pyMouse]( https://pypi.org/project/PyMouse/)2)安装[PyHook]( https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook)3)下载[pywin32...
  • mac鼠标键盘的反向控制

    千次阅读 2017-11-27 10:36:10
    mac鼠标键盘反向控制
  • 大家好,我是大明,安装完win7鼠标键盘失灵这个问题的原因是因为win7系统没有USB3.0驱动,所以USB设备都无法使用,这类问题大部分都会出现在新电脑安装win7,而老旧电脑安装win7很少会出现这个问题,那么接下来大明...
  • 模拟鼠标键盘

    千次阅读 2012-10-28 16:19:28
    模拟鼠标键盘这个功能的作用非常多,这里简单举几个例子: 1)简单的游戏外挂 2)工作中自动化实现等需要进行的鼠标点击等操作 3)简单的聊天机器人等 二、实现原理 在windows下模拟鼠标的话,咨询Win32各种...
  • 目的:监控鼠标的点击事件、鼠标的位置、键盘的点击事件 背景:在做一个远程控制的软件,所有要监控记录本地的键鼠消息,到时候是要发送给其它主机的。 c++ 2.windows下hook技术 windows下提供了一个...
  • 各位小伙伴大家好啊,又到了达尔优外设科普小课堂时间了,不知道大家有没有认真测试过自己手上鼠标键盘的性能呢?今天我们就来介绍一些鼠标键盘的测试方式吧,MOUSE RATE CHECKERMouse rate checker是一个非常小巧的...
  • 1.禁用鼠标键盘 在kernel中make menuconfig,在禁用hid的usb driver项 2.桌面不显示鼠标指针 ubuntu系统中下载unclutter 工具 sudo apt install unclutter 在开机启动脚本中添加如下语句: unclutter -idle 1
  • 一、简介 我们知道在windows下输入:win + r...python中pyautogui包可以直接控制鼠标键盘 二、pyautogui包安装 pip install pyautogui 如果出现字符解码错误,尝试下载历史版本安装 三、实例尝试 ''' 遇到问题没人解答
  • Python基础之pyautogui模块(详细总结鼠标键盘操作)

    千次阅读 多人点赞 2020-10-24 17:19:34
    Python基础之鼠标操作 文章目录Python基础之鼠标操作1....控制鼠标键盘使用的模块为:pyautogui,这个模块操作起鼠标键盘的时候,非常的迅速,而且如果该模块控制了鼠标后,程序比较难关闭,这时我们有两
  • Nodejs使用robotjs轻松控制鼠标键盘

    千次阅读 2020-06-02 18:09:09
    用Nodejs轻松控制鼠标键盘 最近刚完成了基于vue的聊天系统的开发,闲下来之余,鼓捣了一下node脚本,每天上班开机挺麻烦,要一个一个打开软件、手动连wifi;于是乎,鼓捣出了一个很简单的自动执行脚本; 本例首先...
  • ubuntu与windows共享鼠标键盘

    千次阅读 2016-08-11 12:14:58
    为了方便两台电脑操作并节省鼠标键盘,本文论述了ubuntu与windows 采用synergy软件共享鼠标键盘的方法,成功实现了鼠标的穿屏操作。
  • 监听鼠标键盘,没有操作超过3秒,执行方法console.log() //鼠标移动 document.onmousemove = function() { window.lastMove = new Date().getTime(); } //鼠标点击 document.onmousedown = function() { window....
  • python3 GUI - 鼠标键盘事件

    千次阅读 2019-03-12 10:26:12
    python3 GUI - 鼠标键盘事件 from tkinter import * class MouseKeyEventDemo: def __init__(self): # 窗口和标题 window = Tk() window.title("鼠标键盘事件") # 打包一个白色画布到窗口 canva...
  • java robot控制鼠标键盘

    2016-06-15 02:37:22
    public class Main { /** * @param args * @throws FileNotFoundException * @throws AWTException */ public static void main(String[] args)...robot控制鼠标键盘必须在有显示器的电脑上才能运行吗?
  • 简介 ...鼠标键盘控制 &amp;gt;&amp;gt;&amp;gt; import pyautogui &amp;gt;&amp;gt;&amp;gt; screenWidth, screenHeight = pyautogui.size() &amp;gt;&amp;
  • Windows鼠标键盘(PS2)驱动框架

    千次阅读 2018-05-24 13:57:54
    常用的鼠标类型:串口鼠标、PS/2鼠标、USB鼠标(HID)常用的键盘类型:串口键盘、PS/2鼠标、USB键盘(HID)非HID鼠标键盘(PS/2鼠标键盘)物理配置方式上图左边展示了键盘鼠标设备通过独立的控制器连接到系统总线。...
  • 这篇文章主要介绍了python中的pyautogui实现鼠标键盘控制功能,需要的朋友可以参考下 pyautogui是一个可以控制鼠标和键盘的python库,类似的还有pywin32。 pyautogui的安装 pip3 install python3-xlib 依赖库 sudo ...
  • python之pyautogui实现鼠标键盘控制

    千次阅读 2019-07-24 13:27:11
    python之pyautogui实现鼠标键盘控制 参考网址:https://www.cnblogs.com/dcb3688/p/4607980.html pyautogui是一个可以控制鼠标和键盘的python库,类似的还有pywin32。 pyautogui的安装 pip3 install python3-...
  • 鼠标键盘不好用问题

    2014-09-21 13:49:49
    最近使用电脑是,鼠标键盘老师不好用,
  • Ubuntu进入登录界面鼠标键盘失灵

    千次阅读 2019-11-26 20:42:37
    问题:电脑重启后,忽然发现登录界面鼠标键盘失灵,无法控制电脑 解决方法: 强制重启电脑(按电源键),同时一直按“Esc”键,进入GRUB界面 选择recovery mode,按Enter进入Recovery 选择network选项按Enter设置...
  • 两个工具,简单实现了按键精灵的功能,带源码。 1.从xml脚本中读取数据,简易的模拟鼠标键盘输入。调用自己SendInput API封装好的DLL。 2.全局鼠标键盘钩子,生成模拟输入脚本。
  • python 捕获鼠标键盘事件 小记

    千次阅读 2019-01-24 16:38:27
    python 捕获鼠标键盘事件 小记 version: python27 第三方库: – pyHook 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook – pythoncom 这个因为没有单一版本,所以下载的是 pywin32 安装之后就能用...
  • 我需要关闭显示器,(只关闭显示器,电脑不待机。)用鼠标键盘不会被唤醒。 需要按指定键才能唤醒,不能拦截鼠标键盘消息,因为后台程序需要发送相关的键鼠消息。
  • 安装显卡驱动后,鼠标和键盘无法使用 改为Wayland 启动,可以解决问题,即可使用鼠标键盘。进去后卸载显卡驱动,即可常规方式启动。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,132
精华内容 18,052
关键字:

鼠标键盘