I am not sure about how USB keyboard driver works, but in my case, the P535 keypad is connected as a 3*6 keypad matrix, so in the keypad driver, just define the key code for each key as follows:

static unsigned int p535_key_map[] = {
    KEY(0, 0, KEY_BACK),
    KEY(0, 1, KEY_MENU),
    KEY(0, 2, KEY_SEND),
    KEY(0, 3, KEY_HOME),
    KEY(0, 4, 16),
    KEY(0, 5, 17),

    KEY(1, 0, KEY_WWW), /*r b app*/
    KEY(1, 1, KEY_END), /*end call*/
    KEY(1, 2, KEY_VOLUMEDOWN),
    KEY(1, 3, KEY_VOLUMEUP),
    KEY(1, 4, KEY_RECORD), /*record*/
    KEY(1, 5, KEY_CAMERA),/*camera half down*/

    KEY(2, 0, KEY_UP),
    KEY(2, 1, KEY_ENTER),
    KEY(2, 2, KEY_LEFT),
    KEY(2, 3, KEY_RIGHT),
    KEY(2, 4, KEY_DOWN),
    KEY(2, 5, KEY_CAMERA), /*camera full down*/
};

So the key in first Row and first Column is just the BACK key.

Hope it helps.

Jinjun wrote:
Hi Reed,

In order for my board to take my USB keyboard input, I just copied
qwerty.kl file to "Dell USB Keyboard Hub.kl". Their content are
identical. There is a key 158 BACK WAKE_DROPED entry there. Just don't
know what is the key
combination for key code 158.
Thanks for help and I will keep you updated.

Jinjun


On Dec 12, 5:40 pm, Reed Huang <reed.hu...@gmail.com> wrote:
  
Hi Jinjun,
It's no the kl file needed to be changed. It's your keypad driver.
In my case, there is a line defined in qwerty.kl file as following:
key 158   BACK              WAKE_DROPPED
which means that Android will regard the key code 158 sent by keypad driver as BACK key.
So the changes in the keypad driver should be mapping the key code of the button which you want to it to be BACK key as 158.
To sum up, when you press the Back button, the keypad driver detected, keypad driver send an event to input level with keycode 158, which then be received by Android, Android looks up the keycode in the kl file and find it's the BACK, then you get the effect you want, returning to previous menu.
Jinjun wrote:Hi Reed, We just compiled our kernel with the pxafb.c file provided by you. It solved our problem. Thank you for your help. We still have problem of getting back to previous screen. I have done the following in my "Dell USB Keyboard Hub.kl" file 1) Added a line of "key 68 MENU KEY_BACK". Still can not get back to previous screen. 2) Undo 1) and add a line of "key 68 KEY_BACK WAKE_DROPPED". Still have the same problem. We will try something else and keep you updated. For the rest of people who is interested in this topic, the following is the difference between my pxafb.c and the one provided by Reed. 61a62#define C_CHANGE_DMA_BASE (10)200,208d200 < static int pxafb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) < { < struct pxafb_info *fbi = (struct pxafb_info *)info; < < fbi->fb.var.yoffset = var->yoffset; < pxafb_schedule_work(fbi, C_CHANGE_DMA_BASE); < return 0; < } < 284c276 < var->yres_virtual = var-&g
t;yres * 2; ---var->yres_virtual = var->yres*2;325c317 < max(var->yres_virtual, var->yres * 2); /*reed*/ ---max(var->yres_virtual, var->yres*2);504d495 < .fb_pan_display = pxafb_pan_display,/*reed*/ 1003,1006d993 < case C_CHANGE_DMA_BASE: < fbi->dmadesc_fbhigh_cpu->fsadr = fbi->screen_dma + < (fbi->fb.var.xres*fbi->fb.var.yoffset*fbi->fb.var.bits_per_pixel/ 8); < break; 1185,1187d1171 < < fbi->fb.fix.ypanstep = 1; /*reed*/ < 1216c1200 < /*reed*/ ---1218c1202 < smemlen = mode[i].xres * mode[i].yres * 2 * mode[i].bpp / 8; ---smemlen = mode[i].xres * mode[i].yres * mode[i].bpp / 8;Thanks, Jinjun On Dec 11, 11:17 pm, Reed Huang<reed.hu...@gmail.com>wrote:Hi Jinjun, You can take a look at my pxafb.c here:http://sites.google.com/site/siteofhx/Home/android/android-porting-steps/english/pxafb.c?attredirects=0And you should set one of your button's keycode as KEY_BACK. Then you will be able to get back to previous screen by pressing that button. Jinjun wrote:Thanks, I have taken a look at my pxafb.c file and it is different from your file "a", the one before the patch you provided. We have tried to integrate your patch to our current code and it did not solve our problem. Is it good enough that just add pxafb_pan_display function to our current code or more is needed. Can you post your pxafb.c source file somewhere so that we can be more understanding what you have achieved? Also, what key should I use to get back to the previous screen. More patch is needed to do that? Thank you so much for help. Jinjun On Dec 10, 6:52 pm, mizmit1222<mizmit1...@gmail.com>wrote:Hi, I'm play
ing with Sharp Zaurus C3000 whose CPU is PXA270. The frame buffer driver is pxafb. See pxafb_pan_display() in the patch file of this page.http://androidzaurus.seesaa.net/article/105551643.html Also, ypanstep should be set to none-zero at initialization. Cheers, On De c 11, 10:16 am, Jinjun<jinjunl...@gmail.com>wrote:Hi Reed,I am using USB mouse and keyboard. How do I change the kpad driver? Thanks,JinjunOn Dec 9, 7:42 pm, mizmit1222<mizmit1...@gmail.com>wrote:Hi,I guess your display driver doesn't support panning function.Each time you press the cursor key, Android updates frame buffer, but if frame buffer driver doesn't support panning function, only once between twice your display is actually updated.On Dec 10, 11:39 am, Reed Huang<reed
.hu...@gmail.com>wrote:Your development board might be using matrix keyboard mode instead of directly connecting each button on each single GPIO. I got similar sympton when porting on the Asus P535 and got it solved by changing the keypad driver. Jinjun wrote:H i, I am using PXA270 as my development board for Android and have some difficult to use my keyboard to select icons and menus on the LCD screen. I tried to use left, right, up and down arrow key to select icon. Sometimes there is no response at all and if it does response, the second icon next to the current one will get highlighted hence it is very difficult for me to get desired one selected. If I do get the one I wanted, press enter key then actually activate the menu of the other icon, usually next to the one selected. Can anyone provide help? Also, can anybody explain the content of default qwerty.kl? Thanks for your help. Jinjun- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text 
-
    


  

--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to