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中操作MySQL入门实例
Feb 08 Python
python基于pygame实现响应游戏中事件的方法(附源码)
Nov 11 Python
玩转python爬虫之正则表达式
Feb 17 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
浅谈Python爬取网页的编码处理
Nov 04 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
Nov 24 Python
基于python list对象中嵌套元组使用sort时的排序方法
Apr 18 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
tensorflow实现图像的裁剪和填充方法
Jul 27 Python
python中的Elasticsearch操作汇总
Oct 30 Python
Python实现归一化算法详情
Mar 18 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循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
Python批量修改文件后缀的方法
2014/01/26 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
Python列表list排列组合操作示例
2018/12/18 Python
Django 静态文件配置过程详解
2019/07/23 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
python 实现有道翻译功能
2021/02/26 Python
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
《傅雷家书》教学反思
2014/04/20 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
公司合并协议书范本
2014/09/30 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
辩护意见书
2015/06/04 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书