Skip to main content

Posts

Python 模拟鼠标动作的函数

最近在写游戏机器人,用 Python 写的,需要模拟鼠标的动作。 Google 了好久,很快发现了模拟键盘的 virtkey,鼠标的很难找,但是最终还是找到了。 相关链接是 http://mail.python.org/pipermail/python-list/2007-December/641865.html http://www.tranzoa.net/tzpython/tz_windows_stuff.py 以及 Xlib 文档 示例代码: import Xlib.display import Xlib.X import Xlib.ext.xtest # 点击 display = Xlib.display.Display() def mouse_click(button): #button= 1 left, 2 middle, 3 right Xlib.ext.xtest.fake_input(display,Xlib.X.ButtonPress, button) display.sync() Xlib.ext.xtest.fake_input(display,Xlib.X.ButtonRelease, button) display.sync() # 移动 ds = display.Display() def goto_xy(x, y) : xtest.fake_input(ds, X.MotionNotify, x = x, y = y) #注意x,y参数的写法 ds.flush()

Windows 键盘问题一例

今天打开电脑,进入Windows,登陆时竟然发现键盘不能用!冷静了一下后用软键盘登了,登陆后发现还是不行! 于是用鼠标和软键盘操作,看Device Manager,键盘设备有个黄叹号,设备状态里显示 Windows cannot start this hardware device because its configuration information (in the registry) is incomplete or damaged (code 19) Google之,在 http://www.edmartechguide.com/2009/02/windows-cannot-start-this-hardware.html 里得到线索 于是进入Regedit,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class项下逐个检查,直到找到{4D36E96B-E325-11CE-BFC1-08002BE10318},发现Class值是Keyboard,那么应该就是这项了 由于权限问题,改名和删除都不行,于是仔细观察各项,发现"UpperFilters"里有个可疑的alidevice,于是删掉,把"kbdclass alidevice"改成"kbdclass" 然后去Device Manager里Uninstall键盘设备,然后刷进,于是可以用了。 这样看来,应该是淘宝的驱动挂了,或者是让我搞挂了。 另外是Device Manager里的PS/2鼠标也不能用,这里是我笔记本上的触摸板。我用的鼠标是USB的,不过注册表里没有发现可疑项,重启以后自然能用了。 另外庆幸我的USB鼠标还能工作,否则输入设备一个都没了。。。好险

gdm 配置文件的一个问题

今天想整一下xdmcp, gdm 配了半天也不出个所以然。 在我机器上 /etc/gdm 目录里 除了 gdm.conf gdm.conf-custom 还有个 gdm-cdd.conf 而且看 gdm 启动的命令行里竟然也是用 gdm-cdd.conf 根据 https://bugs.launchpad.net/ubuntu/+source/ubuntustudio-look/+bug/153837 里面的说法,这个是 ubuntustudio 的一些包搞的鬼。 于是就把 ubuntustudio 相关的所有包(主要是主题)删去, 问题解决。

64位Windows安装gvim

一开始照常下载了32位的安装包,运行没什么问题,就是explorer的右键菜单里不能加入edit with gvim这个选项,重装多次也不行。 后来搜了一下,说是32位的extension dll不能被64位的explorer加载,而再后来在发现vim下载页上有一行小字 Win64 64-bit binaries for MS-Windows can be found at http://code.google.com/p/vim-win3264/. The Win32 binaries should run too, but the "Edit with gvim" context menu entry won't work, since a 32-bit shell extension DLL cannot be loaded into the 64-bit Explorer.exe. 但是前面windows binary的地方似乎并没有提到这一点。。。 于是去给的链接处下了一个64位的,安装运行,一切ok!

创建 svn repository 的命令

弄了好几次,每次都得现查一遍。所以整理一下列于此: 摘自于 http://www.howtoforge.com/debian_subversion_websvn // root # mkdir /var/svn-repos/ # svnadmin create --fs-type fsfs /var/svn-repos/project_name # groupadd subversion # addgroup svnuser subversion # addgroup someuser subversion # chown -R svnuser:subversion /var/svn-repos/* # chmod -R 770 /var/svn-repos/* // normal user (should be in group subversion) $ mkdir ~/.ssh/ $ cd ~/.ssh/ $ ssh-keygen -t dsa $ cat ~/.ssh/id_dsa.pub | ssh you@ "cat - >> ~/.ssh/authorized_keys" $ svn import -m "importing test over ssh+svn" svn+ssh:// /var/svn-repos/project_name/trunk $ svn co svn+ssh:// /var/svn-repos/project_name/trunk

[转]使用Pdftk合并PDF文件

link: http://bbs.haopdf.cn/viewthread.php?tid=441 PDF文件的跨平台特性使其应用广泛,我们在工作学习中经常接触此类文件,但从网上得到的PDF文档,经常是一篇文章中单独页面,怎么把这些单独的页面重新拼合成完整的文档就成了不小的问题。 当然,我们可以借助于Adobe Acrobat中的“Create PDF|From Multiple Files”合并这些单独的页面,但Acrobat是Adobe公司的商业软件,很多朋友由于版权问题并不会安装Acrobat。那么,我们能够使用什么软件来实现同样的功能呢?那就是 Pdftk。 Pdftk是由Sid Steward写的一个PDF增强软件,也就是所谓的PDF Hacks。它可以合并/分割PDF文档、解开必要的输入密码、输出加密、给PDF文档加水印、从PDF文档中解出附件、将PDF文档变成一页等等,能够做到操作PDF文档的所有事情。 其合并文档的具体用法为: 合并多个文档成一个文档: pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf 使用参数: pdftk A=1.pdf B=2.pdf cat A B output 12.pdf 使用通配符: pdftk *.pdf cat output combined.pdf 从几个文档中分割内容合并成一个文档: pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf