Python控制键盘鼠标pynput的详细用法


Posted in Python onJanuary 28, 2019

pynput这个库让你可以控制和监控输入设备。

对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:

  • pynput.mouse:包含控制和监控鼠标或者触摸板的类。
  • pynput.keyboard:包含控制和监控键盘的类。

地址:https://pypi.python.org/pypi/pynput

基本用法介绍:

from pynput.mouse import Button, Controller
import time 

mouse = Controller()
print(mouse.position)
time.sleep(3)
print('The current pointer position is {0}'.format(mouse.position))


#set pointer positon
mouse.position = (277, 645)
print('now we have moved it to {0}'.format(mouse.position))

#鼠标移动(x,y)个距离
mouse.move(5, -5)
print(mouse.position)

mouse.press(Button.left)
mouse.release(Button.left)

#Double click
mouse.click(Button.left, 1)

#scroll two steps down
mouse.scroll(0, 500)

监控鼠标事件 :

from pynput import mouse

def on_move(x, y ):
 print('Pointer moved to {o}'.format(
  (x,y)))

def on_click(x, y , button, pressed):
 print('{0} at {1}'.format('Pressed' if pressed else 'Released', (x, y)))
 if not pressed:
  return False

def on_scroll(x, y ,dx, dy):
 print('scrolled {0} at {1}'.format(
  'down' if dy < 0 else 'up',
  (x, y)))

while True:
 with mouse.Listener( no_move = on_move,on_click = on_click,on_scroll = on_scroll) as listener:
  listener.join()

键盘输入用法:

from pynput.keyboard import Key, Controller

keyboard = Controller()
# 按下空格和释放空格
#Press and release space
keyboard.press(Key.space)
keyboard.release(Key.space)
# 按下a键和释放a键
#Type a lower case A ;this will work even if no key on the physical keyboard is labelled 'A'
keyboard.press('a')
keyboard.release('a')

#Type two upper case As
keyboard.press('A')
keyboard.release('A')
# or 
with keyboard .pressed(Key.shift):
 keyboard.press('a')
 keyboard.release('a')

#type 'hello world ' using the shortcut type method
keyboard.type('hello world')

键盘监听:

from pynput import keyboard

def on_press(key):
 try:
  print('alphanumeric key {0} pressed'.format(key.char))
 except AttributeError:
  print('special key {0} pressed'.format(key))

def on_release(key):
 print('{0} released'.format(key))
 if key == keyboard.Key.esc:
  return False

while True:
 with keyboard.Listener(
  on_press = on_press,
  on_release = on_release) as listener:
  listener.join()

对于鼠标来说,api就上面几个。但是对于键盘来说还要别的,详细的查看:http://pythonhosted.org/pynput/index.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python删除过期文件的方法
May 29 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
Windows中安装使用Virtualenv来创建独立Python环境
May 31 Python
Python 实现选择排序的算法步骤
Apr 22 Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
Nov 06 Python
python3.x实现base64加密和解密
Mar 28 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
python MD5加密的示例
Oct 19 Python
python 调用js的四种方式
Apr 11 Python
Python数据可视化之绘制柱状图和条形图
May 25 Python
用python 实现在不确定行数情况下多行输入方法
Jan 28 #Python
对python3中, print横向输出的方法详解
Jan 28 #Python
Python删除n行后的其他行方法
Jan 28 #Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 #Python
Python实现统计英文文章词频的方法分析
Jan 28 #Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 #Python
Python判断变量名是否合法的方法示例
Jan 28 #Python
You might like
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
通过说明与示例了解js五种设计模式
2019/06/17 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
python实现图片变亮或者变暗的方法
2015/06/01 Python
Python常用算法学习基础教程
2017/04/13 Python
Python实现自动上京东抢手机
2018/02/06 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018/05/04 Python
Python面向对象之继承和多态用法分析
2019/06/08 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
Python定义函数实现累计求和操作
2020/05/03 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
安全生产实施方案
2014/02/23 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
年度评优评先方案
2014/06/03 职场文书
镇副书记专题民主生活会对照检查材料思想汇报
2014/10/02 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
python tkinter模块的简单使用
2021/04/07 Python
vue3中provide && inject的使用
2021/07/01 Vue.js
python基础之模块的导入
2021/10/24 Python