Ok, for a while now I've been porting my OS to the GBA (ARM processor.)
Everything's fine, except one problem...
The Joypad is definitely not a Keyboard!!
I need the joypad (Up, Down, Left, Rigt, A, B, L, and R) to be able to type in my OS, and act as a mouse...
Is there any reasonable way to do this?
I've been thinking about using the R button to switch between mouse and keyboard.
When it is in keyboard mode, a keyboard shows up on screen and you have to use the + pad to pick the letters and Caps Lock, Num Lock, etc..
When it is in mouse mode, the keyboard disappears, and the + pad is used to move the cursor.
I'd like to read some of your ideas.
Keyboard to Joypad transition...
Re:Keyboard to Joypad transition...
I have a completely different idea on how to implement input on a GBA.
First you need to understand that the GBA has a joypad and no keyboard and mouse as the input. Then don't try to emulate a keyboard and mouse.
I don't think it's a good thing to put something like a command line interface on a GBA. You're dealing with a completely different system.
Take for example the games currently on the GBA, that will teach you how you can use the joypad as a good input device, and also how to input text (this shouldn't happen often, else you're developing for the wrong system). Even on the Nintendo 8-bit you can see how to input text with a joypad.
My suggestion is not to develop a CLI or WIMP interface for the GBA, those are just not the right kind of interfaces for the GBA.
Here in Holland they have a really nice interface for the train tickets at the train station. It's a touchscreen where the only input is pressing the buttons on the screen, no more, no less. It has an extremely clean and simple interface.
How I would implement the input and interface on the GBA is using the up, down, left and right keys to select an item (a button or whatever you want) and use the other keys for different actions, like using the A key for selection, and the B key for cancel.
If you have any more questions, just let me know, I am interested in BGA development too.
First you need to understand that the GBA has a joypad and no keyboard and mouse as the input. Then don't try to emulate a keyboard and mouse.
I don't think it's a good thing to put something like a command line interface on a GBA. You're dealing with a completely different system.
Take for example the games currently on the GBA, that will teach you how you can use the joypad as a good input device, and also how to input text (this shouldn't happen often, else you're developing for the wrong system). Even on the Nintendo 8-bit you can see how to input text with a joypad.
My suggestion is not to develop a CLI or WIMP interface for the GBA, those are just not the right kind of interfaces for the GBA.
Here in Holland they have a really nice interface for the train tickets at the train station. It's a touchscreen where the only input is pressing the buttons on the screen, no more, no less. It has an extremely clean and simple interface.
How I would implement the input and interface on the GBA is using the up, down, left and right keys to select an item (a button or whatever you want) and use the other keys for different actions, like using the A key for selection, and the B key for cancel.
If you have any more questions, just let me know, I am interested in BGA development too.
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Keyboard to Joypad transition...
as rico said, i wouldn't recommand the emulation of a mouse. Emulate the "TAB" key or arrows key behaviour of a GUI like Win9x.
For text entry (you'll eventually have to do it, so ...) i suggest you provide a "read text" function for some text area widgets. When a text widget is selected, you display a hiscore-like (or name enter in zelda games) text entry... Until the character is selected.
Now, for elite users, you could imagine to use the buttons to form letters: as your pad has eight directions, you can use directions + A/B buttons to form letters
LF=A, LFUP=B, UP=C ... LFDN=H, LF+A=I, LFUP+B=J ...
Okay, it seems confusing, but you could display a small table in a corner of the screen depending on what button is pressed (so it initially show
[table][tr][td]B[/td][td]C[/td][td]D[/td][/tr]
[tr]
[td]A[/td][td]--[/td][td]R[/td][/tr]
[tr][td]H[/td][td]G[/td][td]F[/td][/tr]
[/table]
and changes when you press A, or B or both A&B. You'll have up to 32 characters this way, not talking about adding "L" or "R" buttons in the game
For text entry (you'll eventually have to do it, so ...) i suggest you provide a "read text" function for some text area widgets. When a text widget is selected, you display a hiscore-like (or name enter in zelda games) text entry... Until the character is selected.
Now, for elite users, you could imagine to use the buttons to form letters: as your pad has eight directions, you can use directions + A/B buttons to form letters
LF=A, LFUP=B, UP=C ... LFDN=H, LF+A=I, LFUP+B=J ...
Okay, it seems confusing, but you could display a small table in a corner of the screen depending on what button is pressed (so it initially show
[table][tr][td]B[/td][td]C[/td][td]D[/td][/tr]
[tr]
[td]A[/td][td]--[/td][td]R[/td][/tr]
[tr][td]H[/td][td]G[/td][td]F[/td][/tr]
[/table]
and changes when you press A, or B or both A&B. You'll have up to 32 characters this way, not talking about adding "L" or "R" buttons in the game
Re:Keyboard to Joypad transition...
Wow, I've never even tought of that...
I'm using my OS on a GBA mostly to make my ode more portable, by running it on two COMPLTELY different systems (IA-32 and GBA).
I think I'll try to implement both of these ideas, and make it possible to switch the method in the system management window, that way, people can choose which method suits them best.
I'm using my OS on a GBA mostly to make my ode more portable, by running it on two COMPLTELY different systems (IA-32 and GBA).
I think I'll try to implement both of these ideas, and make it possible to switch the method in the system management window, that way, people can choose which method suits them best.