El problema es el siguiente, he hecho un teclado usb con un +3 (si habeis visto la seccion hardware, hay un hilo), he remapeado el teclado entero, de tal forma que en shell de linux, funcionan todas las teclas perfectamente... pero.... al entrar sl fuse en su version sdl (que es la que tengo compilada por mi), solo funcionan algunas teclas....
¿Fuse reconoce los scancodes directamente y por eso no me funciona? ¿Hay alguna forma de arreglar esto?
Fuse y problemas con un invento de teclado
Moderador: Sir Cilve Sinclair
- jevilon
- Manic Miner
- Mensajes: 288
- Registrado: Mié Jul 23, 2008 1:15 pm
- Ubicación: La Rioja
-
- Herbert
- Mensajes: 60
- Registrado: Mié Dic 29, 2010 5:25 pm
Re: Fuse y problemas con un invento de teclado
Fuse se basa en la información que le proporciona SDL a través SDLKey. Ver función sdlkeyboard_keypress() de ui/sdl/sdlkeyboard.c
Por lo que tengo entendido SDL usa scancodes pero se basa en información proporcionada por el sistema operativo para mapearlos a teclas. El origen del problema es confuso para mi, pero te recomiendo que uses la utilidad checkkeys para descartar que el problema se encuentre en la SDL (tienes que compilar la carpeta test que hay en el código fuente de SDL).
Por lo que tengo entendido SDL usa scancodes pero se basa en información proporcionada por el sistema operativo para mapearlos a teclas. El origen del problema es confuso para mi, pero te recomiendo que uses la utilidad checkkeys para descartar que el problema se encuentre en la SDL (tienes que compilar la carpeta test que hay en el código fuente de SDL).
- jevilon
- Manic Miner
- Mensajes: 288
- Registrado: Mié Jul 23, 2008 1:15 pm
- Ubicación: La Rioja
Re: Fuse y problemas con un invento de teclado
Gracias, probare ahi a ver
- jevilon
- Manic Miner
- Mensajes: 288
- Registrado: Mié Jul 23, 2008 1:15 pm
- Ubicación: La Rioja
Re: Fuse y problemas con un invento de teclado
El checkkeys que me comentaste... lo he compilado y lo ejecuto pero se queda la pantalla en negro con la flecha del raton y no responde, salvo cuando muevo el raton, que me devuelve al shell.... de todas formas tengo casi solucionado el percal....
-
- Herbert
- Mensajes: 60
- Registrado: Mié Dic 29, 2010 5:25 pm
Re: Fuse y problemas con un invento de teclado
Pues parece normal. Debes ejecutar el programa desde una consola, aparece una ventana negra, pulsas las teclas y las va identificando, algo como así:
Si quieres ver la información según las X, puedes ejecutar el comando xev:
Código: Seleccionar todo
Key pressed: 97-a (a) modifiers: (none)
Key released: 97-a modifiers: (none)
Key pressed: 98-b (b) modifiers: (none)
Key released: 98-b modifiers: (none)
Key pressed: 99-c (c) modifiers: (none)
Key released: 99-c modifiers: (none)
Key pressed: 304-left shift modifiers: LSHIFT
Key pressed: 50-2 (") modifiers: LSHIFT
Key released: 50-2 modifiers: LSHIFT
Key released: 304-left shift modifiers: (none)
Key pressed: 301-caps lock modifiers: CAPS
Key released: 301-caps lock modifiers: (none)
Si quieres ver la información según las X, puedes ejecutar el comando xev:
Código: Seleccionar todo
KeyPress event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 440249, (-301,42), root:(489,257),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 440397, (-301,42), root:(489,257),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 440615, (-301,42), root:(489,257),
state 0x0, keycode 56 (keysym 0x62, b), same_screen YES,
XLookupString gives 1 bytes: (62) "b"
XmbLookupString gives 1 bytes: (62) "b"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 440779, (-301,42), root:(489,257),
state 0x0, keycode 56 (keysym 0x62, b), same_screen YES,
XLookupString gives 1 bytes: (62) "b"
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 441002, (-301,42), root:(489,257),
state 0x0, keycode 54 (keysym 0x63, c), same_screen YES,
XLookupString gives 1 bytes: (63) "c"
XmbLookupString gives 1 bytes: (63) "c"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 441106, (-301,42), root:(489,257),
state 0x0, keycode 54 (keysym 0x63, c), same_screen YES,
XLookupString gives 1 bytes: (63) "c"
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 444613, (-301,42), root:(489,257),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 444877, (-301,42), root:(489,257),
state 0x1, keycode 11 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XmbLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 445002, (-301,42), root:(489,257),
state 0x1, keycode 11 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 445138, (-301,42), root:(489,257),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 450078, (-301,42), root:(489,257),
state 0x0, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4000001,
root 0xa8, subw 0x0, time 450151, (-301,42), root:(489,257),
state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
- jevilon
- Manic Miner
- Mensajes: 288
- Registrado: Mié Jul 23, 2008 1:15 pm
- Ubicación: La Rioja
Re: Fuse y problemas con un invento de teclado
Tambien he de decir que es en un raspberry pi, o sea una distro de debian pelin peculiar y para ARM... aunque no deberia de fallar por eso...
He conseguido que funcione CASI todo, soltando y poniendo cables, y que todas las teclas me den valores bajos, esta un poco mas explicado en el hilo que tengo de la raspberry y el +3 en hardware
He conseguido que funcione CASI todo, soltando y poniendo cables, y que todas las teclas me den valores bajos, esta un poco mas explicado en el hilo que tengo de la raspberry y el +3 en hardware
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 22 invitados