I have just posted a status update on my wintab32 development to the following wine bug.
http://bugs.winehq.com/show_bug.cgi?id=1160
And following on from that update there are a number of questions I need answered to guide my further development:
1. Cross over office and tablets. I heard somewhere that Crossover office had a tablet implementation. Does anyone know about this, and who to contact to find out more? If they've got an implementation of wintab, I wonder if it's worth continuing the development.
2. When to post patches I could start producing patches quite soon. For instance, I could post patches when the WTInfo function is working. Or, I could wait till the whole system is working fully with at least one app?
3. Size of the patches. Is it better to break patches into small (valid compile, but non-functioning) chunks, or to release large functioning patches?
4. Config files Wintab will need some config data. I assume the best place to put this is in the ~/.wine/config file, within a registry key named "wintab"?
5. Development notes. I have some notes on the design that other developers will probably find useful. Where in the wine project should they go? There seems to be no place for rough notes.
6. x11drv integration. Currently the code is implemented to connect to X11 in a similar way to directX. No additional code is placed in the x11drv dll. This X11 connection should be discarded. To this end I have a number of functions that I'd like to place in x11drv dll. The question is: Should I put them into x11drv before releasing any patches, or maintain the directX style connection in the initial wine patches?
7. Cross-platform abilities Is there any need to think about allowing alternatives to XInput to plug into the wintab dll?
Yeah, I know that's a lot of questions, But I hope you guys can give me some guidance.
Bye -Rob.
On Tue, 22 Apr 2003, Robert North wrote:
- When to post patches
I could start producing patches quite soon. For instance, I could post patches when the WTInfo function is working. Or, I could wait till the whole system is working fully with at least one app?
I would say produce patches sooner rather than later (with meaningful changes, of course).
- Size of the patches.
Is it better to break patches into small (valid compile, but non-functioning) chunks, or to release large functioning patches?
I prefer smaller (again meaningful) chunks.
- Config files
Wintab will need some config data. I assume the best place to put this is in the ~/.wine/config file, within a registry key named "wintab"?
Sounds good.
- Development notes.
I have some notes on the design that other developers will probably find useful. Where in the wine project should they go? There seems to be no place for rough notes.
Put them at the top (after the LGPL header) of the main file.
- Cross-platform abilities
Is there any need to think about allowing alternatives to XInput to plug into the wintab dll?
I'd say let's first get something working (and integrated into the tree) first, then worry about other alternatives.
Hi Robert,
Aric did the work on this for Crossover Office, and as usual it will be merged in to the WineHQ CVS within the next couple of weeks. He can probably send you what he's done before then.
Mike
Robert North wrote:
I have just posted a status update on my wintab32 development to the following wine bug.
http://bugs.winehq.com/show_bug.cgi?id=1160
And following on from that update there are a number of questions I need answered to guide my further development:
- Cross over office and tablets.
I heard somewhere that Crossover office had a tablet implementation. Does anyone know about this, and who to contact to find out more? If they've got an implementation of wintab, I wonder if it's worth continuing the development.
- When to post patches
I could start producing patches quite soon. For instance, I could post patches when the WTInfo function is working. Or, I could wait till the whole system is working fully with at least one app?
- Size of the patches.
Is it better to break patches into small (valid compile, but non-functioning) chunks, or to release large functioning patches?
- Config files
Wintab will need some config data. I assume the best place to put this is in the ~/.wine/config file, within a registry key named "wintab"?
- Development notes.
I have some notes on the design that other developers will probably find useful. Where in the wine project should they go? There seems to be no place for rough notes.
- x11drv integration.
Currently the code is implemented to connect to X11 in a similar way to directX. No additional code is placed in the x11drv dll. This X11 connection should be discarded. To this end I have a number of functions that I'd like to place in x11drv dll. The question is: Should I put them into x11drv before releasing any patches, or maintain the directX style connection in the initial wine patches?
- Cross-platform abilities
Is there any need to think about allowing alternatives to XInput to plug into the wintab dll?
Yeah, I know that's a lot of questions, But I hope you guys can give me some guidance.
Bye -Rob.
Hi Robert,
I did a Wintab32 implementation for CrossOver Office 2.0. I will create a patch for winehq and submit it later today. If you want to continue to work off of that you are welcome to. It may be best not to duplicate work too much.
- Cross over office and tablets.
I heard somewhere that Crossover office had a tablet implementation. Does anyone know about this, and who to contact to find out more? If they've got an implementation of wintab, I wonder if it's worth continuing the development.
I would say yes, My development was specifically for the wacom intuos tablet. I tried hard to make it general enough to incorporate anything using wintab32.dll but if you have other devices that would be great.
- Config files
Wintab will need some config data. I assume the best place to put this is in the ~/.wine/config file, within a registry key named "wintab"?
I worked hard to require no config data.
- x11drv integration.
Currently the code is implemented to connect to X11 in a similar way to directX. No additional code is placed in the x11drv dll. This X11 connection should be discarded. To this end I have a number of functions that I'd like to place in x11drv dll. The question is: Should I put them into x11drv before releasing any patches, or maintain the directX style connection in the initial wine patches?
I created some new functions in x11drv and all the connection to X went through those.
- Cross-platform abilities
Is there any need to think about allowing alternatives to XInput to plug into the wintab dll?
because i wrote to the X level, and tablets all seemed to use the XInput functions i wrote to XInput. To write directly to the hardware devices seemed to be way to device specific to me, as well as duplicating the work done on the wacom X driver.
I will try to have my patch submitted later today.
-aric
Aric Stewart aric-at-codeweavers.com |Wine Mailing Lists| wrote:
Hi Robert,
I did a Wintab32 implementation for CrossOver Office 2.0. I will create a patch for winehq and submit it later today. If you want to continue to work off of that you are welcome to. It may be best not to duplicate work too much.
It's great to hear somebody's been working on this problem. *but* It's a shame You didn't tell me that you were working on this. I explicitly contacted people on this list, and opened a Wine bug to avoid this kind of problem. We could have collaborated on the design & implementation... Or alternatively I could have got on with something else. I have a number of much more important things to work on.
I find it highly demotivating to see my effort duplicated by other developers. I think it's in Wine's and Codewavers best interest to keep everybody as motivated as possible.
*What to do now?* The best thing to do now is keep in close contact and work out where to go from here.
I think first I need to do is to re-iterate my main interest in getting tablet input working:
1. To get Metacreations (Now Procreate) Painter 5.5 working with tablet. This requires: Pressure axis Tilt axes Eraser.
2. To to get Photoshop working with tablet (which I assume is done). I think this only requires the following: Pressure axis. Eraser. (I'll have to look at my notes).
If both 1. & 2. are done, then I'm satisfied, and will probably consider the project complete.
- Cross over office and tablets.
I heard somewhere that Crossover office had a tablet implementation. Does anyone know about this, and who to contact to find out more? If they've got an implementation of wintab, I wonder if it's worth continuing the development.
I would say yes, My development was specifically for the wacom intuos tablet. I tried hard to make it general enough to incorporate anything using wintab32.dll but if you have other devices that would be great.
I have an intuos2, so can't really add anything here.
- Config files
Wintab will need some config data. I assume the best place to put this is in the ~/.wine/config file, within a registry key named "wintab"?
I worked hard to require no config data.
Yes, I came to the conclusion that you can get away without much config data, and defaults can work quite nicely. But you do need some to support more advanced features.
If you're only dealing with intuos cursors, then you can make many assumptions that minimise config. But you need to be able to identify at least the X11 cursor for the intuos pen eraser, and the cursor for the pen stylus. It may also be necessary to specify parameters for the transform from X tilt & Y tilt to the wintab polar tilt coordinates.
Have you managed to work around these issues?
- Cross-platform abilities
Is there any need to think about allowing alternatives to XInput to plug into the wintab dll?
because i wrote to the X level, and tablets all seemed to use the XInput functions i wrote to XInput. To write directly to the hardware devices seemed to be way to device specific to me, as well as duplicating the work done on the wacom X driver.
I had 2 issues in the back of my mind here. 1. I've heard some kind of rumors of wine on OS/2, and other OS. These may not use the x11drv dll. 2. I was a little suspicious that there may be performance problems going through wine,x11,and the drvice drivers. If this was the case I wanted an easy fallback to the device driver level. This is obviously unfounded.
I did some limited work towards driver independance, but have curtailed it to a few architectural choices, and some principles to bear in mind, if it's ever needed.
I will try to have my patch submitted later today.
About to examine it now -Rob.