| Main > Software Forum |
| MAME 104u5 out - adds multiple mice |
| (1/15) > >> |
| Tiger-Heli:
Haven't tried it, just saw the whatsnew.txt, but thought you might want to know!!! |
| Howard_Casto:
I tried it... it's both great and annoying at the same time.............. It's great because it works on low level directinput, which is the best possible way to get input from windows. Think analog mame but less hackish. Multiple mice are found easily, without hassle. They work too, without tweaks or hacks. The annoying thing is that the mame devs didn't have enough foresight to realize that almost all mice input devices in this day and age are usb, and thus they can be hotswapped. The code relies on the enumeration number rather than the device name. What this means is the first mouse to be plugged into your pc is mouse one, the second is mouse two ect..... This is all well and good, but if you unplug your lightgun and had a third device after it, all your mappings are off. Also they removed the system mouse, which while sounding good on paper, actually makes defining a mouse 10 times more painful for those of us not using multiple mice at once. No longer does any mouse control the trackball.... by default trackball 1 is controlled by mouse 1. This is fine except nearly every mame cab on the planet has a mouse/keyboard combo tucked away somewhere in case of emergencies. Since it's the first thing windows sees at bootup, your trackball 1 is controlled by your pc mouse, not your trackball. I have no clue if ctrlr files can fix that but for now, it seems like a different set of problems in exchange for more functionality. |
| Derrick Renaud:
--- Quote from: Howard_Casto on March 11, 2006, 09:06:33 pm ---The annoying thing is that the mame devs didn't have enough foresight to realize that almost all mice input devices in this day and age are usb, and thus they can be hotswapped. The code relies on the enumeration number rather than the device name. What this means is the first mouse to be plugged into your pc is mouse one, the second is mouse two ect..... This is all well and good, but if you unplug your lightgun and had a third device after it, all your mappings are off. Also they removed the system mouse, which while sounding good on paper, actually makes defining a mouse 10 times more painful for those of us not using multiple mice at once. No longer does any mouse control the trackball.... by default trackball 1 is controlled by mouse 1. This is fine except nearly every mame cab on the planet has a mouse/keyboard combo tucked away somewhere in case of emergencies. Since it's the first thing windows sees at bootup, your trackball 1 is controlled by your pc mouse, not your trackball. --- End quote --- First off I would recommend you learn something about RAWMOUSE support before you state we did not have the foresight. RAWMOUSE and DX are totally different critters. RAWMOUSE pretty much blows. But it is the only way to get multiple mouse support in XP. RAWMOUSE has no provissions for hot swapping mice. I would have to re-read the list of devices every time each mouse is polled. Re-init all the port handing and all sorts of other stuff. Let's slow MAME down to support a useless feature like hot-swapping during a game. TELL me any games using DXinput that let you hotwap a joystick and use a different one during game play. None. It is the same thing with multiple mice. Your thinking means they should also make a system joystick. The system mouse had to be removed. I do not understand people's fettish for it. If anyone used pre 104u5 multiple mouse support in Win98/Me they would have found they could not select the indivual mouse. It would always select Mouse 1 and Mouse X. So if you set player 1 controls to mouse 1 it would enter Mouse 1 (system mouse) and Mouse 2 (mouse 1 individual data). When setting player 2's control to mouse 2 you get Mouse 1 (system mouse) and Mouse 3 (mouse 2 individual data). Completely useless. No seperate controls that way. You do realize you can now set the controls so an axis can be Mouse 1 X and Mouse 2 X, by entering each as the default control input. Think about it. Each mouse is now considered a seperate control like a joystick. Once you think that way, you will understand. As far as enumeration goes, thats windows crappy handling that we can not do anything about. Windows does not know which mouse is which, so we can certainly not figure it out either. Also DX on non-XP systems report mice in the order they were first installed. There is absolutely no way of us knowing the order they are in after hot swapping. Windows does not know. Windows only keeps a list in the order they were installed. XP DX does not report multiple mice. XP RAWMOUSE reports mice in the reverse order of how they were installed. So each new mouse becomes mouse 1. Theres consistency for you. Again not MAMEdevs fault. You want to talk about having fore-sight talk to to Microsoft. Future versions of MAME will reverse the RAWMOUSE list to make life easier. DX will report a mouse is lost, but RAWMOUSE will not. But thanks for bashing what you know nothing about. It was the "foresight" comment that ticked me off. >:( And FYI, my cab does not have a mouse tucked away. The trackball is the mouse. D. |
| Grasshopper:
Interesting. Is this inability to deal with hot-swapping also a problem in Linux? |
| Howard_Casto:
--- Quote from: Derrick Renaud on March 12, 2006, 01:36:11 pm ---RAWMOUSE has no provissions for hot swapping mice. I would have to re-read the list of devices every time each mouse is polled. Re-init all the port handing and all sorts of other stuff. Let's slow MAME down to support a useless feature like hot-swapping during a game. TELL me any games using DXinput that let you hotwap a joystick and use a different one during game play. None. It is the same thing with multiple mice. Your thinking means they should also make a system joystick. The system mouse had to be removed. I do not understand people's fettish for it. If anyone used pre 104u5 multiple mouse support in Win98/Me they would have found they could not select the indivual mouse. It would always select Mouse 1 and Mouse X. So if you set player 1 controls to mouse 1 it would enter Mouse 1 (system mouse) and Mouse 2 (mouse 1 individual data). When setting player 2's control to mouse 2 you get Mouse 1 (system mouse) and Mouse 3 (mouse 2 individual data). Completely useless. No seperate controls that way. --- End quote --- I'm sorry if I don't completely understand how rawmouse works but I DO understand how Dx works and considering you just put dx7 back in to help with the rawmouse and dx does allow you to get the device name, I don't see how that is an issue. The enumeration numbers are the same for both functions so you simply mate the device name found in dx with the enumeration number for rawmouse. Who ever mentioned anything about hotswapping during the game? I was referring to the fact that unlike other ports, usb devices are enumerated by the order that they are detected by the system and that windows doesn't really allow a way to control the order. So if a person buys a new lightgun/trackball it could potentially be detected as the "middle" device and thus throw all their mappings off. Also there is the rare instance in which someone plugs in a new purchased device to an already running computer, it is detected as the last device (obviously, since the computer has already booted up), they go through hours of configuring things just the way they want em, only to discover that upon reboot the mappings don't work anymore. They don't work because due to a usb hub or a system just being crazy, the device is now enumerated at a lower number and thus the settings aren't for that mouse anymore. Joysticks are different, I don't know how they got into the conversation. First off, it's possible to set device priority for joysticks in windows, meaning they don't "move" when you plug and un plug them. So the problems I talked about for mice don't apply to joysticks. Secondly, ctrlr files have support for real joystick names, meaning you can optionally type some nonsense like "sidewinder1 button 0" and let dx figure out where the joystick is. Of course I don't follow every step in mame's development process but it used to. So in other words "mouse 1" could still be used but "logitec mouse 1" could also be used, assuring that your inputs wouldn't get mixed up the addition removal of other devices. Again I don't me in game (sheesh what were you thinking?), I mean over the course of the lifespan of a person's mame install. The no separate controls thing was kind of my point. The removal of the system mouse should be OPTIONAL. Why? Believe it or not many people don't need separate mice inputs. When is the last time you saw a mame cab with two trackballs? Two lightguns aren't a problem as you poll the mouse position when the appropriate button is pressed (either mouse button 1 or mouse button 3). I would guess that the majority of mame users don't need or use separate mice inputs and you've just dumped a world of unnecessary configuring on them just for those few people that do. So I stand by the point that a lack of foresight was involved in this decision to change the way the mice input has worked for ages, without the option of using the old method to help an extreme minority of people who need separate inputs. I mean heck, even on your own mamecab you said you just had a trackball. Even you don't require separate inputs. In closing don't assume that just because YOU don't understand ME that I don't understand YOU. |
| Navigation |
| Message Index |
| Next page |