All Stories

关于Scintilla的某些快捷键输入怪异字符

  一直以来都存在着这个问题,当时大概看了一下Scintilla的源代码,也没有找到哪里注册处理了这些快捷键,想不到好的办法,于是就临时处理了一下,自己截获这些快捷键,发现一个截获一个,本来以为可能截获得差不多了,结果前些天发现还有没有拦截的,于是觉得有点郁闷,决定要彻底解决这个问题。  又稍微仔细地搜索了一遍Scintilla的源代码,发现确实好像没有注册这些快捷键,然后到maillist上问,作者Neil Hodgson也真的挺热心的,每封邮件都回了,由于时差的关系,加上我白天在公司不能上网,这些天我都是晚上回家写邮件,描述问题,第二天早上起来收邮件,看看他的答复。这样持续了几天,终于今天早上看到回复后,搞清楚了问题的本质。  我照他的办法在ScintillaWin.cxx的WM_SYSKEYDOWN/WM_KEYDOWN里打了断点,然后跟踪,发现这时按到那几个快捷键都是直接传给::DefWindowProc处理了。这开始让我觉得有点走不下去的感觉,后来往上看,有WM_CHAR消息的处理,于是也打了个断点,发现每次按了快捷键后,就会收到WM_CHAR消息,而且参数就是这些不可见字符的ASCII码值。Neil说这是Windows发的。我用SDK写了个小程序试了试,果然发现这是Windows的默认行为。Neil说这只能自己在程序里处理把所有这些快捷键都屏蔽了。于是我就又郁闷了,我怎么知道到底是有多少控制字符被绑定到什么键上去了。上Google搜索了一把,发现一个列表,呵呵,刚好列出了所有的VT100和VT220键盘的控制字符绑定。  中午的时候想了想,我不想在程序里处理拦截所有快捷键,不如直接改Scintilla的源代码,在WM_SYSKEYDOWN/WM_KEYDOWN里记录一下是否按下了Ctrl,在WM_CHAR里判断一下这个标记,如果标记置位了,并且刚好这次得到的是个控制字符,就直接退出,这样就看起来解决了,至少Windows平台上似乎没什么问题了(注:Scintilla是直接多平台的,包括Windows、MacOS、以及通过Gtk+支持的平台等)。  Neil Hodgson是个很有毅力的人啊,这东东从1998年做到现在,越来越完善,而主要作者却一直是他一个人,当然也还是有很多人为之作出了贡献。

真的要努力为以后做点事了

  不然就完了。

依然很累

  但今天却心情却不知所以地有点好。虽然问题数没怎么减少,但自我感觉是越来越好了,总觉得随着不断地改进,这个小工具已经比较好用了,我还额外地做了些增强易用性方面的工作。但有些东西,从架构开始,到最后的可利用资源,都限制得很难再继续发展下去了。代码重构是很急需的一件事了。  今天和晓妮mm一起坐班车,晓妮mm说又和我坐同一辆班车了,呵呵。刚来公司的那一年,我住三楼,她住六楼,虽说是同一栋楼,但正如她说的,当时我们最不熟,其实当时我跟测试组的同事都不熟,我很少跟同事说话,在食堂吃饭也是一个人很快地吃完就走。晚饭的时候经常是坐一在边等小妞过来,或者就出去4个人一起吃。搬了个家后,一切都变了。人是会变的,这是一件值得庆幸的事。昨天室友说起一件事,我说,我都已经原谅我自己了,原来我是很自责,我是很深刻地认为我错了,我也希望能弥补,但既然过了这么久了,还是没有丝毫的希望,我也放弃了。我无力改变别人,就改变自己,我不想继续活在内疚和悔恨中,我已经原谅我自己了。就算是真的触犯了原则性的问题,但人是活的。换了一种生活方式,我没有觉得丁点不好,感觉反而是一种解脱。至少对于我来说,是利大于弊吧。

Boost终于要从CVS迁移到SVN去了

  几个月前1.34发布前,就已经开始说要迁移,先是把sandbox迁过去了,但主库一直还在sf.net上去。现在1.34.1发布了,终于有公告发出来说要迁到印第安那大学的OSL服务器上去。总的说来,SVN相比CVS从很多方面都有改进,虽然CVS仍是相当流行。居然老大说CVS不安全,比较无语的说。  在网上看到别人的blog,想想自己真是叶公好龙啊。现在公司里的任务老大似乎是很想玩B/S的东西,想完成目前这个项目后全都迁移到ASP.NET上去,要学C#了,我真的不是很感兴趣,昨天的考评沟通又把我小小地打击了一把,唉。想想自己也真是没用,要是有正式工作之外的比较稳定经济收入来源,怕他个鸟啊,直接fire老板。可惜啊,一直有贼心没贼胆啊。雨烟也辞职了,下一个会是谁呢?

一无所有的人永远一无所有

  今天跟彭彭、小思宇、小妞一起吃饭去了。我发现我现在渐渐地放不开了,不如单独跟小妞一起吃饭时那么放得开了。  一无所有的人将永远一无所有,这是我今天吃饭得到的教训。所以我不能一无所有,我要努力。

累死了,不想加班了

  没完没了的问题、新需求、变更……不停地码码码……

又见离职

  坐旁边的女同事昨天填完离职申请后,今天就没再来了。又见一个旁边的人离职,不过已经有点麻木,没什么感觉,只知道有一天我也是走这条路的。  今天把输入法的源代码和打包好的安装程序都发到五笔爱好者论坛去了,本来还多大的目标的,没动力了。

好想休息

  好累,好想休息哦!  晚上又加班了,改了一点问题,静不下心来了,于是收拾一下,就走了,去找人玩去。  实在无聊啊,怎么会这样。真想请几个星期假休息一下啊!  一堆事情积在那儿,可是我又懒。  问题又涨到20多个了,真是郁闷,怎么这么多问题。从SciTE里抄了一段打印的代码,居然能用,哈哈。  很多地方的代码写得很低效,有很大的改进的余地。还有很多会崩溃的问题,要解决。

玩了一天

  昨天又早早地醒来,然后开电脑,写了一会儿代码,估计了一下时间,洗澡,出门,坐391到图书馆,错误地估计了路程,到得太早了,于是进去里面的阅览室看了些杂志,大概过了半个小时多吧,才等到人。还好我已经很习惯等别人了,在以前多次的等人过程中磨练出来了,哈哈。  从图书馆出来,在旁边的餐厅里吃了个咖喱鸡饭,味道不错哦,鸡肉比较嫩,只是量太少了,想起上一次吃咖喱鸡好像是我生日的时候请xcc和afei,在万象城后面的泰国餐馆芭蕉叶里吃的,记得那次的量比较大,呵呵。  吃完饭后,两个人想不好去哪里玩一下,最后说起去看电影吧,于是绕了点弯路去坐地铁,又一个路盲mm,呼呼。到了购物公园Coco Park,里面有个百老汇电影城。我在深圳2年,还没去过电影院呢。mm说没看过变形金刚,看了一下时间,10分钟后就有一场,只是没有好的座位了,只有前三排的了。买了一大桶爆米花,一人一杯可乐加冰。电影院的效果果然就是好啊,连脸上的根根胡茬子都能清楚地看到。  看完电影,她有个师兄打电话约她去K歌,于是于是,俺就也厚着脸皮去蹭了,哈哈。打的到华强北巴蜀风旁边的星期8,好多人在等,看到一个精瘦的小男人,好像比较内向的样子,过了一会儿,又来了一个mm,4个人坐着无聊,斗了一会儿地主,终于有房了。还好几个人都不是很拘束,我也觉得奇怪,以前跟小思宇她们一起玩的时候要是遇到这种场景,我肯定是很自闭的,现在却几乎已经克服了那种心理问题了。  7点半,从卡厅出来,去找吃的,本来说的是去吃小肥羊,后来被我带到小肥羊旁边的华神火锅去了,哈哈!点菜的时候我正给妈妈打电话,打完电话人家已经点完了,mm说,不知道我喜欢吃什么,只记得我很喜欢吃田鸡,于是帮我点了份田鸡,呵呵。  开心!~其实人是很容易改变的,嗯嗯!