终于在BSD下wine出war3了
但是我们班DOTA的气氛已经大不如前了,常常叫不到人了…… 反正也很浪费时间,算了……
但是我们班DOTA的气氛已经大不如前了,常常叫不到人了…… 反正也很浪费时间,算了……
本学期体育课选的板球。某节板球课上,快下课的时候,老师开始向大家布置一个作业:翻译。每人发两到三页复印材料,来自于某本板球初学者启蒙的书籍。几周之内,必须完成这些材料的翻译,上交到网络学堂去。过了几天,网络学堂上还挂出了一些板球名词的标准翻译,说让大家照着这个翻。 翻译工作倒是比较轻松,毕竟也就几页,一会儿就能够完成。翻完之后我在想,这个不就是协作翻译么。类似于wikipedia的方式,每人贡献一小部分,合起来就是一项成品。这个办法倒是不错,比如说看见一本外国教材,没有中文版,然后找上这个课的学生,每人发几页,翻译一下交上来,集中起来就成了翻译版了么。 但是也有些问题,比如怎么保证翻译质量。估计这些译稿最后还是要人工审核一遍,否则不但文字不统一,错漏之类的应该也不少。另一个是版权的事情,别人没有授权,你随便翻译了,就算不谋利也不见得就可以。不过其实这方面学校盗版的事情干得多了。不谈从前那个算法导论中文版,就说我上过一门课,那门课的教材不印了,外面买不到,学校就靠复印解决问题。这个现象应该也很常见吧。
从同学那边借了一个键盘用,反正他有好几个键盘,这个放在旁边也不用。型号是 Microsoft Natural Ergonomic Keyboard 4000,很大的一个键盘,还是人体工程学设计的。 装载ukbd和uhid模块,插上键盘,显示出来两个设备: ukbd0 和 uhid0。 貌似ukbd0马上就被Xorg接受了,插上后按键就能够被Xorg接收到。 而那个uhid0,貌似就是用来发送特殊键的了。这个键盘上有不少特殊键,比如一对滚轮一样的Zoom键,Back/Forward, 控制音量和播放器的,启动程序的,以及可以自定义的特殊键。 研究了一下,有两个现成的工具。usbhidctl能够接受并显示 uhid 设备发过来的信息,而 usbhidaction 能够根据预先指定的配置文件,在接收到 uhid 设备的时候,执行对应的程序。 其实 FreeBSD 自带的 usbhidctl 和 usbhidaction 都有问题,他们对于 Report ID 这个HID设备的参数没有处理好。 一个HID设备允许其上的各个组件利用同一个接口发送信息,而这些信息就通过 Report ID 区分。在信息格式描述符中提到 Report ID 的设备,在发出来的数据包的前面会多一个字节,就是这个数据包所属部分的Report ID。 usbhidaction没有处理这个多出来的字节,导致它每次都少收一个字节,然后再收一个一字节的包…… 改了就好了。但是这个修改其实涉及到libusbhid,因此光修改usbhidaction还不行。但是要把这整个需要修改的地方做成patch提交,还要花一些功夫。 于是我改了一下 usbhidaction 和 usbhidctl,还有libusbhid,临时把 Report ID 指定为1,并且根据描述符的处理结果决定接受的字节数。原来的 usbhidaction 默认的 Report ID 是用一个ioctl获取的,这个令我难以理解…… 不是可以有不止一个么…… 关于这个,我发了封信给freebsd-stable,但是没人回…… 看来还是需要完整的patch才比较容易得到接受。 …
回来之后,基本上就没有写。平时经常会想起来有些东西能够写,但是面对着电脑的时候就有很多事情想干,总是会忘记…… 从前也是这样吧。新学期了,各位准备6G的同学们也都在忙碌。10G的也不少,大多也在背单词。估计我大致也是10G,但是现在背单词很没有连续性,断断续续的……这样下去可不行,太慢了……开学初,上课情况总是比较好的。不过这个数据结构的课,早上第一节,内容大部分也都会…… 还是算了……但是偏偏上课还有小测验,有时候还是需要去的。其实早上上课也不是那么困难,只是要前一天晚上早点睡觉就可以了。基本上,十一点半睡觉,能够去上早上第一节课,而十二点半睡觉,上第二节课没有什么问题。如果睡晚了,起床的时候遇到的阻力就会增加,虽然偶尔能够靠意志力克服,但是每次都这样就比较艰苦了。