debian: บันทึกการปรุง qemu รุ่นปรับแก้ NumLock/CapsLock เพื่อแจกจ่าย

 

รุ่นนี้เป็นรุ่นปรับแก้บั๊กเรื่อง NumLock/CapsLock ไม่ยอมเปลี่ยน ตามที่เคยบันทึกไว้

แต่ผมลืมแพกเกจที่ต้องการก่อนติดตั้งหมดแล้ว ฝากดูเอาเองตอน debuild หรือ configure

วิธีสร้างแพกเกจเดเบียน
$ sudo aptitude install devscripts
$ apt-get source qemu
$ cd qemu-0.9.0+20070816
$ vi sdl.c

. . .
    if (ev->keysym.sym == SDLK_PAUSE) {
        /* specific case */
        v = 0;
        if (ev->type == SDL_KEYUP)
            v |= 0x80;
        kbd_put_keycode(0xe1);
        kbd_put_keycode(0x1d | v);
    //    kbd_put_keycode(0x45 | v);
        return;
    }

    if (kbd_layout) {
        keycode = sdl_keyevent_to_keycode_generic(ev);
    } else {
        keycode = sdl_keyevent_to_keycode(ev);
    }

    switch(keycode) {
    case 0x00:
        /* sent when leaving window: reset the modifiers state */
        reset_keys();
        return;
    case 0x2a:                          /* Left Shift */
    case 0x36:                          /* Right Shift */
    case 0x1d:                          /* Left CTRL */
    case 0x9d:                          /* Right CTRL */
    case 0x38:                          /* Left ALT */
    case 0xb8:                         /* Right ALT */
        if (ev->type == SDL_KEYUP)
            modifiers_state[keycode] = 0;
        else
            modifiers_state[keycode] = 1;
        break;
    //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;
    }
. . .

$ debuild -us -uc
จะได้แพกเกจเดเบียน ตามต้องการ

ติดตั้งด้วยคำสั่ง
$ sudo dpkg -i ../qemu_0.9.0+20070816-1_i386.deb

วิธีสร้างแพกเกจแบบทั่วไป
$ 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
$ configure --cc=gcc-3.4
$ make
$ checkinstall -D make install
$ make qemu-doc.html
$ make qemu-tech.html
$ make qemu.1
$ make qemu-img.1
$ sudo make install-doc
$ make tarbin

จะได้แพกเกจ qemu-0.9.0-i386.tar.gz ตามต้องการ โดยไฟล์จะมาอยู่ที่ไดเรกทอรี่ Home

Download
หากคร้านที่จะคอมไพล์เอง ดาวน์โหลดได้ที่นี่ครับ ฝากทดสอบบั๊กให้ด้วย

อ้างอิง
Murray's Blog: Building modified debian packages

 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.