Dosbox 0.72-1 For Gp2x


naples39 said:
Pickle, you're making me wish I had a F200 for touchscreen support!

As for virtual keyboard, are you including all the keys or just the ones listed? I think it would be pretty important to include keys like space, esc, etc. in the virtual keyboard layout.
Those are the ones I have setup at the moment. Technically I can send out any ascii code I want. I just havnt gotten to the special ones like escape/backspace because of some the other issues.
I just wanted to give an idea of the layout. Im thinking of doing the special keys like this:

1234567890
QWERTYUIOP
ASDFGHJKL;
ZXCVNM,./!
Shift
Backspace
Escape


Or maybe setup a key to switch between the alphanumeric and special keys menus

Edit. You wont need a touchscreen with this version (mouse emulation) ;-)
 
Last edited by a moderator:
Pickle said:
Those are the ones I have setup at the moment. Technically I can send out any ascii code I want. I just havnt gotten to the special ones like escape/backspace because of some the other issues.
Ideally, a full keyboard should be available. Everybody knows a regular keyboard better than they know any other proprietary system. God knows I still won't ever get used to the Commodore 64 keyboard...

Otherwise, how's progress on a new release? I'm dying for the upcoming virtual keyboard and joystick-emulated mouse.
 
Last edited by a moderator:
I like the idea of a virtual keyboard, how exactly would this work? Is it going to be like ScummVM where you press L + A to get it to pop up? Do we have to map it ourself?
 
JakeK said:
I like the idea of a virtual keyboard, how exactly would this work? Is it going to be like ScummVM where you press L + A to get it to pop up? Do we have to map it ourself?
Yes you map a key for the keyboard to appear, while it is open you press select to enter a key, or start to exit the keyboard. The keyboard does not pause dosbox and is transparent, so you can see where you are typing. And you can type more than one letter before closing it.
 
Last edited by a moderator:
I know I'm going to sound like an impatient jerk for asking, but are you guys getting close to a release?
 
Pickle said:
Hitnrun said:
Eclipse said:
Hitnrun said:
Wow that is a GREAT idea! I found it annoying that the mouse autoclicks when using touchscreen devices.
also making the touchscreen only moves the mouse and NEVER clicking would fix that slowdown problem, because you can do the clicks using the buttons and please, make the mouse clicks only once per button press,
I don't think so, the problem seems that when the mouse is held, the gp2x is flooded with mouse movement events, not mouse click, so this may not fix it. What should fix this is some kind of mouse filtering, as event helding the pen on the same spot, we receive a lot of events in different positions, the touchscreen device is not very precise.

I agree with that. I believe the problem is in the SDL code itself. DJwillis is getting a F200 soon, lets give him some time to work on it.


Not at all because not ScummVM nor Exult suffers from this bug so it's something in your code (or maybe on the dosbox code if you're injecting that stuff as mouse events), also i did and released code for the touchscreen too that was later expanded and there's no slowdown also taking the input every frame (that's the way a touchscreen for games is intended to work) check that http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,46,2533 maybe it's useful

Anyway, have you already added bindable mouse clicks and mouse emulation via stick\dpad? that's awesome!
 
Last edited by a moderator:
QUOTE(Skutarth (THE JERK!!!) @ Apr 21 2008, 10:30 PM)
I know I'm going to sound like an impatient jerk for asking, but are you guys getting close to a release?

You jerk..... :p

QUOTE

Not at all because not ScummVM nor Exult suffers from this bug so it's something in your code (or maybe on the dosbox code if you're injecting that stuff as mouse events), also i did and released code for the touchscreen too that was later expanded and there's no slowdown also taking the input every frame (that's the way a touchscreen for games is intended to work) check that http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,46,2533 maybe it's useful

Anyway, have you already added bindable mouse clicks and mouse emulation via stick\dpad? that's awesome!



Hitnrun will have to look into it as I dont have F200 to debug with.
But looking at the way its done, im not sure how it cant be anything other than the SDL. The touchpad code is only called when a SDL mouse button down is detected and that is supposed to be everytime the styus moves/touches the screen. So its seems the SDL generates many events, and would then create many dosbox mouse events in the program. We might be able to fix it with your method of checking once per loop or skipping some of the readings.

Yes the bindable mouse clicks and mouse motion through pad/stick is working great.

I was computer-impaired this last week and ive started wrapping up the virtual keyboard options. Once it's done maybe there can be a release. Maybe a 1/2 weekends from now.
 
Last edited by a moderator:
I'm still investigating the touchscreen holding but, I think the problem is the way that dosbox handles sdl, that have problems with the flood of events the gp2x sdl does.
But the sdl code works on sdl tests, it should be more on the dosbox side.
 
there is code in the dosboxcvs versions that reduce the amount of mouse events dosbox generates to the running dos application.
(merging multiple move events into one if no button is pressed)

Maybe that will help you.
 
Qbix said:
there is code in the dosboxcvs versions that reduce the amount of mouse events dosbox generates to the running dos application.
(merging multiple move events into one if no button is pressed)

Maybe that will help you.
Its worth a try!

Ok here's my current idea for the keyboard. There are 2 modes a normal and a special.

1234567890 <- Number keys
abcdefghij <- upper/lower case letters
klmnopqrst
uvwxyz
SHIFT <- toggle the letters above from lower to upper
DEL BACK <- Delete and backspace keys
ESC ENTER
<- Escape and Enter/Return keys
SPECALKEYS <- Switch to the special mode

0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2A <- This all of the odd
characters for puncuation
0x2B 0x2C 0x2D 0x2E 0x2F 0x3A 0x3B 0x3C 0x3D 0x3E <- Note when they display they will the ascii char's not the hex code as shown
0x3F 0x40 0x5B 0x5C 0x5D 0x5E 0x5F 0x60 0x7B 0x7C
0x7D 0x7E 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20
FUNC KEYS <- Just a label does nothing
1234567890 <- Send F1 through F10
11 12 <- Send F11 and F12
NORMALKEYS
<- Switch to the normal mode

When you select a single digit only that digit will be highlighted.
If you selected of the keys that split a row only the half selected gets highlighted.
The last row and shift will highlight the entire row.

I think this should work pretty good. Its pretty much the entire keyboard.
 
Last edited by a moderator:
Latest version of the virtual keyboard layout and probally final version:

1234567890
abcdefghij
klmnopqrst
uvwxyz '
`-=[];,./\
SHFT BACK
LALT LCTRL
SPECALKEYS

INS HOME
DEL END
PGUP PGDWN
ESC ENTER
FUNC KEYS
1234567890
11 12
NORMALKEYS


Ive added some change this last weekend. I moved all shiftable char's to the first menu and added more special keys to the second. This should cover any key anyone would want to send.

The shift,alt,ctrl are toggles meaning they stay on even if you exit the menu. An X will appear next to them if they are on or off. All the char's from the numbers down to the puncuation char's will change on the shift as they would on a real keyboard.
Ive also had to make the change of making the GP2X buttons mapping start at 256 rather than 97. This means if you use the upcoming version the mapper.txt will need to be updated. It's a pain but it keeps characters from being sent out when uses the menu.

The DPAD/Stick will navigate the menu, SELECT will send the selected key, START will exit the menu. The Menu is loaded by a mapping in the mapper.txt, so any key combination can start it.
 
Do the other buttons still work (ABXY) when you're in the virtual keyboard? If not, you should just use B to select the keys. It's a lot more natural feeling than pressing SELECT, and you're far less likely to accidentally close the virtual keyboard by pressing START this way.

I'm looking forward to the release. I'll see if I can find time to write a program to update old mapper.txt files.
 
Skutarth said:
Do the other buttons still work (ABXY) when you're in the virtual keyboard? If not, you should just use B to select the keys. It's a lot more natural feeling than pressing SELECT, and you're far less likely to accidentally close the virtual keyboard by pressing START this way.

I'm looking forward to the release. I'll see if I can find time to write a program to update old mapper.txt files.
Done.

The key's just need to be offseted by 159 and they will work the same.
 
Last edited by a moderator:
Finished with the mapper.txt updater. I wrote it in Java so it would be cross-platform:
http://pages.suddenlink.net/skutarth/MapperConvert.class

You may include it with the next release if you'd like. Just be sure to give me credit for it and include a documentation snippet.

For Windows users: "java MapperConvert" will, after creating a backup file, update the values of "mapper.txt" in the same directory as the Java class.
You may also add an argument, ala "java MapperConvert dukemapper.txt", and it will update the specified file.
If no filename extension is detected in the argument, ".txt" will be assumed. You should also be able to specify files in other directories this way.

It will also detect if the mapper file has already been updated, and inform the user as such.

I haven't tried it in Linux, but it should work.
Let me know if there are any problems!

If "java" is not recognized as a command, make sure you have the latest Java Runtime Environment installed!
 
Skutarth said:
You may include it with the next release if you'd like. Just be sure to give me credit for it and include a documentation snippet.

This should be useful.
I will include, for the doc ill will just copy your post.

Would it be hard to make search a directory for all mapper.txt and update them all? That is if a path is specified for the parameter.
 
Last edited by a moderator:
Pickle said:
Skutarth said:
You may include it with the next release if you'd like. Just be sure to give me credit for it and include a documentation snippet.

This should be useful.
I will include, for the doc ill will just copy your post.

Would it be hard to make search a directory for all mapper.txt and update them all? That is if a path is specified for the parameter.

I'm glad I could help. I have no experience with searching directory trees in Java, but I'll see what I can do.
 
Last edited by a moderator:
Skutarth said:
Pickle said:
Skutarth said:
You may include it with the next release if you'd like. Just be sure to give me credit for it and include a documentation snippet.

This should be useful.
I will include, for the doc ill will just copy your post.

Would it be hard to make search a directory for all mapper.txt and update them all? That is if a path is specified for the parameter.

I'm glad I could help. I have no experience with searching directory trees in Java, but I'll see what I can do.
I have no java experience but i came across this doing a search:
http://mindprod.com/jgloss/file.html

You can use this to get a list of files and directories under one directory: File.list
So then all you have to do is search for mapper.txt in the list.
You can use this to determine if a item is a directory: File.isDirectory
I think with a combination of the 2 you could loop through all subfolders and files.
 
Last edited by a moderator:
Thanks for searching around, but I ended up using the official Java API. Nonetheless...

http://pages.suddenlink.net/skutarth/UpdateMappers.class

Implementation has changed a bit. Searching a directory tree and parse converting is now implemented.

CODE
For Windows users: "java UpdateMappers" will, after creating a backup file, update the values of "mapper.txt" in the same directory as the Java class.
You may also add an argument, ala "java UpdateMappers dukemapper.txt", and it will update the specified file. Note that writing the filename extension is necessary in this case.
If the argument points to a directory, it will search through the directory tree specified and convert all files named "mapper.txt" it finds.

It will also detect if the mapper file has already been updated, and inform the user as such.


How close are you to a new release?
 
Skutarth said:
http://pages.suddenlink.net/skutarth/UpdateMappers.class

Implementation has changed a bit. Searching a directory tree and parse converting is now implemented.

CODE
For Windows users: "java UpdateMappers" will, after creating a backup file, update the values of "mapper.txt" in the same directory as the Java class.
You may also add an argument, ala "java UpdateMappers dukemapper.txt", and it will update the specified file. Note that writing the filename extension is necessary in this case.
If the argument points to a directory, it will search through the directory tree specified and convert all files named "mapper.txt" it finds.

It will also detect if the mapper file has already been updated, and inform the user as such.


How close are you to a new release?

Im planning on putting it out friday or saturday. I have one last issue with the osd's which isnt a killer problem, but would be nice if it was gone.
 
Last edited by a moderator:
I hadn't thought about it until now, but would it be better to not create the backups?
On one hand, the mapper files are tiny to begin with.
On the other hand, the backup files sure can get messy.
 
Back
Top