บันทึกการแก้ปัญหา Num Lock - Caps Lock ของ qemu

เมื่อได้ลองใช้งาน qemu แบบจริงจัง เจอปัญหาว่า Num Lock กับ Caps Lock มีอาการแปลก ๆ กดแล้วได้ผลบ้าง ไม่ได้ผลบ้าง
เลยลองถอด qemu ของดิสโตร แล้วดาวน์โหลด qemu รุ่นล่าสุดมาลองดูซอร์สโค๊ด
$ sudo aptitude remove qemu
$ wget http://fabrice.bellard.free.fr/qemu/qemu-0.9.0.tar.gz
$ tar xfz qemu-0.9.0.tar.gz
$ cd qemu-0.9.0

ค้นข้อมูลในกูเกิลดู พบว่าต้นตออยู่ที่ไฟล์ sdl.c
พบว่า qemu แก้ปัญหา sdl ไม่ยอมส่งรหัส Num Lock - Caps Lock ไปให้ระบบ ด้วยการเขียนโค๊ดส่งรหัสเอง
แต่ปัจจุบันนี้ sdl น่าจะแก้ปัญหานี้แล้ว แต่โค๊ดส่วนนี้ยังคงอยู่ เลยทดลองเติมคอมเมนต์ในโค๊ดส่วนนี้ดู
$ vi sdl.c

...
//case 0x45: /* num lock */
//case 0x3a: /* caps lock */
/* SDL does not send the key up event, so we generate it */
// kbd_put_keycode(keycode);
// kbd_put_keycode(keycode | 0x80);
// return;
...

แล้วจึงคอมไพล์ใหม่ ด้วย gcc-3.4 ซึ่งต้องติดตั้งใหม่
$ sudo aptitude install gcc-3.4
$ ./configure --cc=gcc-3.4
$ make
$ sudo make install

ผลปรากฎว่า สามารถใช้คีย์ Num Lock และ Caps Lock ได้อย่างที่ควรจะเป็นครับ

ทดลองกับเดเบียน Lenny และอูบุนตู Feisty ไลบรารี libsdl1.2-dev ทั้งคู่

 

Thai Search

Google Search

Custom Search

Theme

Who's online

There are currently 0 users and 4 guests online.