2011-06-28
禁用大写锁定键,以及更多

禁用大写锁定键,以及更多

在使用Vim的过程中,我经常会误按到大写锁定(Caps Lock)键。误按后我会下意识的通过u或者Ctrl+R恢复。但由于大写锁定键已经按下,命令并不会像我想的那样去执行,反而会错得更离谱。

因此,禁用大写锁定键就是最好的办法了。Google了一下,发现方法还不少:

通过软件来禁用

使用“ 键盘屏蔽器 ”这个国产软件,可以轻易屏蔽键盘按键或者切换键位,而且立即生效。唯一的缺点就是必须保持软件运行。这显然是我无法接受的。

修改注册表

  1. 找到注册表键名 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
  2. 在其下新建一个二进制键值 Scancode Map,注意不要建立在子键中了。
  3. 将键值设置为: 00000000 00000000 00000000 0200000000 003A00 00000000
  4. 重启操作系统生效。

修改注册表的更简单的办法

Silence 为我们准备了一个小工具专门做这件事情,于是我们就不用面对注册表了,而且也能很方便的还原它。

该工具的名字叫Keybmap,下载地址:http://www.mympc.org/down/1/2005-11-26_0111998067.html

注意,在 Windows8 系统下,需要使用最新的 1.8 版本才有效果。该版本目前只有 64 位版。

RemapKey等:小巧实用的键盘映射工具 这篇文章中还能找到更多类似工具和详细介绍。

原理及更多

作为一个有理想有抱负的程序猿,当然希望知道其中原理。其实“Scancode Map”这个东东,我们可以把它翻译成“扫描码映射”,是从Windows 2000开始提供的一种改变键盘布局的方法。利用它,我们可以禁用某些键,或者让某些键代替另外的某些键的功能(好拗口啊……)

上面的那串很长很长的二进制码,我们可以这么理解它:

Scancode Map 代码的一般格式是:
hex:00,00,00,00,00,00,00,00,|02|,00,00,00,|原键,替代键,原键,替代键,|00,00,00,00
其含义为:
前8个00(DWord两个0)是版本号,接下来的“02”表示映射数,其最小为值为“02”,表示只映射一组,若要映射多组,只需增加相应的值即可,如映射2组其值应为“03”,3组为“04”,4组为“05”
后边代码每4个是一组:前两个是映射后键位的扫描码,后两个是键位原扫描码。如果要交换两个键,则最后四个值的排列形式是:键A,键B,键B,键A——它表示:键A成为键B,键B成为键A
最后以“00,00,00,00” 结尾。

如果你想知道更多的Scancode,盖茨先生为我们提供了 文档

如果你不喜欢看文档,还可以看这张图:

Scancode Map分布图

参考文章

2011-04-09
解决Chrome谷歌浏览器在Gmail、QQ邮箱中不能上传附件的问题

貌似从版本9开始,Chrome浏览器在Gmail和QQ邮箱中就不能上传附件。在QQ邮箱中,即使安装了超大附件支持插件,在单击“上传”按钮的时候也不能打开选择文件的对话框。

其实,造成这个问题的原因就是在chrome
9的某个版本后,Chrome使用了沙箱来限制Flash
Player在Chrome浏览器中的权限,导致依赖Flash
Player的某些动作在Chrome中无法执行。

对于Gmail,可以通过邮箱设置来解决:

进入Settings(设置)->General(常规),将最下方的Attachments(附件)改为Basic
attachment features(基本附件功能)。

根本的方法,是禁用Flash沙箱,在Chrome启动的时候加上参数 -disable-flash-sandbox即可,如下图:

Chrome禁用Flash沙箱

还有一个我喜欢用的参数是 -disable-tabbed-options,用来取消Tab设置面板,将Chrome设置面板还原成对话框形式。

2011-02-24
GoogleTalk网页版,终于可以不在Gmail界面下聊天了

Gtalk桌面版已经好几年没更新过了,许多新的功能,Google都是将其加入到Gmail界面,但是我只想要个单纯的聊天界面,不想登录Gmail,也不想使用桌面版。

今天被邀请一个三方群聊的时候,找到了这个官方的地址,可以单独开启一个聊天页面:

http://talkgadget.google.com/talkgadget/popout

建议使用Chrome的”工具-创建应用程序快捷方式”将这个路径创建到桌面上,这样聊天就更方便了。

2010-12-27
雅黑-Consolas混合字体,编程专用

最开始,我使用Courier New做编程用的字体。时间长了感觉这种扁扁的一成不变的字体太生硬,且不支持ClearType,于是就改用了Consolas

Consolas确实不错,但在中文显示方面,又不行了。在程序源码中,不可避免要使用中文注释。Consolas当然不支持中文,因此中文默认是使用宋体显示的。当使用10点大小的时候,中文就模糊不清了。如果采用斜体显示注释的话,宋体就更加显得支离破碎。

雅黑字体确实在中文显示上不错,但雅黑不是等宽字体,不能用于源码显示。

所以,就有网友使用字体工具将雅黑和Consolas集成在一起,让程序员可以在源码中看到优秀的中文显示效果。如下:

不过,这个字体中的Consolas有了一些变化,不像纯Consolas那么圆滑了。

字体下载:

去字体合并作者博客下载

2010-12-03
有史以来关于Flash Player的最详细说明

2010-12-09更新:加入卸载工具


一、Flash Player的版本

1.独立版和插件版

Flash
Player分为插件版和独立版,插件版安装后,让浏览器可以播放swf文件。独立版安装后,则可以直接在Windows中双击swf文件打开一个窗口来播放,不依赖浏览器。

2.调试版和普通版

Flash
Player还有调试版(Debug版)和普通版,通过Adobe更新程序更新的均为普通版。调试版在swf发生运行时错误的时候会弹出对话框,而普通版不会。因此,游戏测试人员应该安装调试版。

3.版本号

Flash
Player的版本号对程序的支持也有影响,如果没有特别的需求,应该使用最新的版本。目前最新版本为10.1。对AS3的提供支持的最低版本为9.0。
如果一个使用了Flash Player 10.1提供的新功能的swf文件在Flash Player
9.0版本的Flash Player下播放,可能会播放不正常或者报错。
如果一个在Flash 6下制作的swf在Flash Player
10.1下播放,也可能出现问题(恩,出问题后请记下错误号,然后用这个号码去买中国体育彩票)。 阅读此文

2010-11-18
JSON编辑器和查看器

用XML写配置文件写得头痛,分析起来也头痛,干脆用JSON写。但是JSON纯用手写比较麻烦,于是网上一搜,居然发现一堆好用的编辑器,在这里记录一下。

  1. http://jsoneditor.net/
    除了在线版,还有AIR版本的离线版
  2. JSONView
    有Firefor插件版、还有chrome插件版
  3. eclipsejsonedit
    Eclipse的编辑器插件
  4. jsoneditor
    另一个在线编辑器
  5. http://jsoneditor.appspot.com/
  6. http://jsonformat.com

2010-09-23
在Dev-C++中无法将C源码编译成exe,提示“源文件未编译”的解决办法

今天下载了一堆C的书籍,准备深入学习一下。却发现这些书里面都没有讲解如何配置学习环境。无奈又google了一堆资料,选择了Dev-C++这个IDE,敲了Hello
World代码,默认保存成C++源码(扩展名cpp),编译运行均正常。可是如果将其保存为C源码(扩展名c),在编译的时候,虽然也没有任何出错提示,但是却无法找到编译出来的exe文件。
下面是解决步骤: 阅读此文

2010-09-21
MinimalComps简介-一个超轻量级的纯AS组件库

我一直在寻找一套在纯AS环境下使用的组件库(如果你也在找,可以看看这里),曾经使用过一段时间ASWing,最终还是放弃了,后来就看到这套小巧的库。Minimal Comps是由业界大牛Keith Peter编写的一套轻量级纯AS组件库,用来写一些测试用的程序是再方便不过了,整个架构也非常清晰明了,一些没有提供的功能,自己也可以直接来修改源码实现。下面就简单说说这套组件的用法。 阅读此文

2010-09-04
Flash CS3 9.02绿色版(解决JAVA运行环境和创建Flash放映文件的错误)

不看文章中的废话直接下载


Flash自从被Adobe收购后,安装包就做得越来越大。回想起Flash MX 2004时代,安装包不到100M,可现在都被Adobe搞得过G了。安装一次更是耗时十几分钟,痛苦啊……

在做Flash开发的时候,我更多的是使用纯AS做开发, Flash只是被用作资源保存的工具 ,而Flash CS3已经提供了AS3的支持,并且比CS4、CS5更加快速和稳定,这就足够使用了。

网上下载的 Flash CS3 9.02 精简绿色中文版 大多有几个问题,以下是解决办法:

创建Flash放映文件时出错

在绿色版安装目录下建立“players”文件夹,并下载一个最新的Flash Player 9独立播放器文件,将其复制进入“player”文件夹并将文件名改为“flashplayer.exe“即可解决。

在使用AS编辑面板的时候以及编译的时候弹出“Java运行时环境初始化时出现错误,你可能需要重装Flash”提示

在绿色版安装目录下建立“jvm”文件夹,然后下载并安装JAVA虚拟机(也就是上面出错提示中提到的JAVA运行环境),最后从JAVA虚拟机的安装目录中将“bin”和“lib”文件夹复制到“jvm”下即可。

其实只需要安装 JAVA 虚拟机就能解决这个问题了。我提供的压缩包中附带了 jvm 文件夹。如果你不想安装 JAVA ,那么也可以设置 JAVA_HOME 环境变量到 jvm 文件夹,并将 jvm/bin 加入 PATH

png格式的图片提示无法导入

这个问题我没有找到解决办法,有网友说自己解决了这问题,但我咨询过后发现他发给我的版本也是无法导入的。目前我用到的解决办法是,先导入一个jpg文件,然后在库中双击这个导入的jpg文件,在弹出的“位图属性”对话框中单击“导入”,就可以选择png文件导入了。导入成功后会替换库中先前导入的jpg文件。

我将解决了上面1、2两步都完成的Flash CS3 9.02版重新打包,集成jre6.21和Flash Player 9.0.280,一共65MB,需要的朋友可以在这里下载

2010-07-31
win7下安装招商银行网上银行专业版出现“复制PersonalbankMain.ocx文件失败”的解决方法

在windows7旗舰版32位下安装招行专业版出现错误提示“复制PersonalbankMain.ocx文件失败”。
用管理员权限安装,并设置兼容性为windows
xp,重启电脑都没有效果,错误依旧。

记得原来用正版的windows7专业版是可以正常安装招行专业版的,换了萝卜花园版的盗版win7就不行了。
上Google搜索,原来是盗版精简了某些文件所致。解决方法如下:

  1. 上网下载了被精简掉的“HHCTRL.OCX”;
  2. 复制到“c:\windows\system32”文件夹下;
  3. 运行下面的代码注册:
    regsvr32 hhctrl.ocx
  4. 重新安装招行专业版。

现在又发现chm文件无法打开,郁闷,用盗版就是这么麻烦啊……

hhctrl.ocx下载地址