It's always goot to see people using JInput, and some documentation is always welcomed. Mind if I link to the PDF from the jinput.dev.java.net site and the forums?
On page 6 you mention that all buttons are assigned the ID of "UNKNOWN", there is a new build, that means they are assigned a number, or if possible the right ID (only works for a few so far). My gamepad has 11 buttons that directx admits to, a,b,c, x,y,z, R1, R2, L1, L2 and start. a,b,c and x,y,z now come up with the identifier A, B, C, X, Y, Z as they do under linux. The others don't, but come up with an ID of _<number> where number is the order in which they were detected. This is a first attempt at getting some platform independance when it comes to button IDs (Axis are alot easier for some reason).
On page 8 you mention that jinput uses directx8, this is correct, I'm not sure if it's me, but the wording almost suggests that something is broken for this to be the case. If thats your opinion then thats OK, everyone is entitled to one
, just wanted to see if that is what you meant, or if the wording is just not quite clear.
On page 8 you mention the Version number, thats a JInput issue, I'll sort something out about that, your the only person I know who's spotted that one, good find
On page 9 you mention about the port type. I'm not 100%, but I think that information is hidden by direct x so there is no way for jinput to know, so unknown is correct. I'll take a more thorough look at some point to confirm this though.
On page 14/15 you say don't display 0.0 values because it means it's not been manipulated, but thats only the case for relative devices, for absolute devices a value of 0.0 could mean that it has been moved from one extreme or some other location, to the centre. Checking it's not the same as the last value when it becomes 0.0 would cerfice for absolute controls, for relative controls you are right, hide 0.0 values. (I just went through the same thing for my input code
). It's just a point thats worth making at some point in the text, it would slightly complicate the method though, and you might not want that in the simple examples. It's your article after all
On page 30 you mention the webstart version on the newdawnsoftware site. The version you reference should have been deleted (my fault), the new one, and the one that does get updated (although it's a demo, not a repository, so it gets updated when I feel like it rather than at each release) can be found at http://www.newdawnsoftware.com/resources/jinput/webstart/jinput2.jnlp
It's an excelent document and I hope my comments are constructive. Nothing is intended to offend.
If you need more info, just holler.