What do you mean? could you be more precise please? Did you code a virtual keyboard?
Well... my original idea was to code a kernel module to get chars from gp32 pad in a style like arcade hi-score input: up and down to change char, left and right to move cursor and one button as enter, other as tab... etc.
I'd be using input core events, so this module could send keyboard, joystick and mouse events... pushing R button for example, will switch from keyboard mode to mouse mode, making GP32 pad inputs as mouse events... another R button click will make pad act as joystick through a char device... in a few words, a module that could use the standard GP32 pad to input all kind of controls.
I started it as a x86 kernel module to and my first tests worked... I used my SNES Pad connected through parallel port to input buttons, the module translate the pressed buttons as input events (one button as a mouse click, other as a 'K' key, for example). So I made 3 little modules to test the 3 input events, one will make SNES pad act as a mouse, other will send key types and the last, joystick moves.
It worked in the x86 kernel, then I introduced a little module into gp32 kernel that sends keyboard events when pad or any button on gp32 are push, using Mr Mirko SDK routines to detect it. And the events are send, but I get unexpected chars... as if the input core is not working fine.
This is the first time I code a kernel module, and it is very simple... I read Toholl's chatboard and mouse modules and it's an awesome work. He is a true kernel developer