Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Input Devices Hardware Hacking Software Linux Entertainment Games

Linux 3D Input Driver Project Started 92

zratchet writes "Mikey Lubker reports in his blog that a new project has been started to create drivers for 6-degree-of-freedom 3D input devices. The project hopes to support SDL_Input, XNA, DirectInput, and other major controller API's including game consoles and embedded systems, including controllers for home entertainment systems, robots, modeling clay, games, home automation, and more. Check out the project here and the (soon to be) tech-demo Snowball Surprise: Adventures in Avatarctica."
This discussion has been archived. No new comments can be posted.

Linux 3D Input Driver Project Started

Comments Filter:
  • 3d input? (Score:2, Interesting)

    by wed128 ( 722152 )
    Doesn't a wheel mouse already have 3 dimensions of input (x, y, z axis)? What exactly is a "3d controller?"
    • Re:3d input? (Score:2, Informative)

      by Anonymous Coward
      A mouse with a scroll wheel may have 3 axis of movement but it doesn't have 3 dimensions of movement. Use some common sense.
    • Re:3d input? (Score:2, Informative)

      Google for "Spaceorb 360"

      or look here:

      Birdman's []
    • by jkeegan ( 35099 ) on Monday May 23, 2005 @09:52AM (#12611467) Homepage Journal
      I used to work down the hall from Spaceball (Technologies? I forget the full name), in Lowell MA. They had a product called the Spaceball which was a sphere mounted on a base, that you could twist around any of the three axes, and push in the direction of any of the three axes..

      So it didn't actually twist much - it sensed your desire to rotate it (the ball stayed in pretty much the same position).. And it didn't move much in either direction either, but it knew when you were lifting it, or pushing it left, or pulling it back, etc.

      Anyway, those are your six dimensions.. rotate x,y,z, translate x,y,z.

      They made some game controller of it later, but the original was used in high-end cadcam applications etc. Cool device!
    • Re:3d input? (Score:2, Interesting)

      by bmac83 ( 869058 )

      The "6 Degree of Freedom" statement is much more important to me than "3D". When you have a 6 DOF controller, you are able to execute every possible motion in 3-space. The 6 DOF controller I used (in a research project associated with the space program) used a sliding controller in the left hand that you could push inward and outward (Z translation), as well as sliding up, down, left, and right (X and Y translation). In the right hand was a conventional joystick, which allowed you to rotate around each a

  • by halivar ( 535827 ) <> on Monday May 23, 2005 @08:51AM (#12611062)
    Aren't these things better announced when they reach at least 0.1a, or something? If I announce a project to port all of DirectX to Commodore, do I get my own Slashdot article? Even if I never do anything with it?

    Sorry... just doing some morning trolling.
    • FFTA: We have released our first driver, a VB OCX. Source for it will be posted as soon as possible as well as a demo app based on it. Screenshots from the demo and hopefully pictures of the prototype hardware will soon be available as well. We are working with the Snowball Surprise project to produce a demo game as well:

      They also link to the driver on Sourceforge's page.
      • That've released a VB OCX...

        For Linux?

        I doubt it. That means:

        a) the article is wrong and they are not producing drivers for Linux.
        b) you are wrong and they have not yet released a driver.

        Given the accuracy of slashdot editing either may be true...
    • You know, it's sad that the submitter has pointed us to his own blog which forces us to read an ad before seeing it's full blogger goodness!
  • by G4from128k ( 686170 ) on Monday May 23, 2005 @08:54AM (#12611075)
    Two mice provide 4-D of smooth motion. And you get another 2-D of coarser motion with scroll wheels. This would have applications beyond games as I have seen (but can't find) experiments in the HCI (Human-Computer Interaction) literature on the superiority of dual-cursor interfaces.
    • Yes, I am going down the multiple mice route myself. I am using a nifty windows project called cpnmouse [].

      I just bought a few optical/usb mini mice from ebuyer (2 quid each) to make myself a 3DOF trackball. I am using a marble mouse [] shell and was hoping I could put in the mice guts inside... that's going to take a bit of thinking, eventhough the mice are "mini", the optical bits inside are quite big. Good news is that the mice have no problem detecting the black dots on the ball.

      I first tried the trackball

    • Yes! I would love to use two mice! Grab two edges of a window and flip it around for config access on the back (like an Apple widget). Click and drag a window on the 2d plane with one mouse, the other moves it forward and backward (or farther and closer). That would be really awesome.
    • You mean something like this []?
      • man that's cool. puts some nipples on it and away you go...

        seriously though, what a cool product. I wonder what kind of typing speeds you can get with proficiency...

    • With 2 mice apple users would finally be able to left-click and right-click!

      Seriously though 4D input is nothing special - it's in every FPS game, mouse for 2 of the rotational degrees and WASD or the arrow keys for 2 spacial directions. Plus you get jump/crouch (or up/down if swimming/flying) control from 2 more keys/mouse buttons, so that's 5D and it's been around since Quake. Not quite the same as dual-mouse of course but using a mouse for translation in an infinite space (as opposed to one bounded by t
  • by MadCow42 ( 243108 ) on Monday May 23, 2005 @08:54AM (#12611079) Homepage
    I wrote a cool little tool to give 6-degrees input from a single webcam. It tracks the three points of a triangle, and calculates X-Y-Z-tilt-rotation-elevation based on that.

    The logarithms to do the calculations are solid - all you need is a better mousetrap than I have for finding the three triangle points in a single image frame (should be very straight forward - mine works but is slow).

    Is this old hat, or would there be good value to open-sourcing it? I'll likely never commercialize it on my own.

    • I'm looking for solid logarithms as well.
      Any suggestions?
    • I'm daft today - read "algorithms" instead of logarithms. :)

    • Windows only, but works very well. []
    • I wrote a cool little tool to give 6-degrees input from a single webcam. It tracks the three points of a triangle, and calculates X-Y-Z-tilt-rotation-elevation based on that.

      Well, the big VR guys tend to lay out multiple cameras and correlate the visible dots by similar methods, allowing you to track more dots, and also not require rigid known relationships between them. I saw a recent lab set up that uses up to 30 cameras to track the hands and heads of multiple collaborators. They're still refining

    • Is this old hat, or would there be good value to open-sourcing it? I'll likely never commercialize it on my own.

      This actually sounds pretty interesting to me. I'd be interested in learning how to do this, though I'd probably never get around to doing anything with your code either ;)
    • sounds interesting but i can see a possible problem straight away. suppose the triangle is perpendicular to the camera angle, ie you are looking at the triangle straight on. if you rotate the triangle so the top point stays stationary, the left point moves away from you and the right point moves towards you, if will look exactly the same in 2 dimensions as if left point is moving towards you and the right point is moving away. you would need to use circles at the points and measure the size of them to diffr
      • You're correct - you have to assume that the rotation in that ONE axis will be within a 180-degree range. However, for "head tracking" and such for computer control, if you're not looking at the screen then it's pointless anyways, right?

        By setting the default orientation of the three points sensibly to begin with, you can safely work within the limits of a single-camera field.

        I'm not saying it can do everything a $3k solution with multiple sensors/cameras can do, but for the price of a $19 webcam and a c
      • Correction: 2 axis are limited to 180-degrees range of motion (rotation, elevation). Tilt has no limit within my model, and of course XYZ movement is only limited by the field of view and resolution of the camera.

        FYI - I use it with VERY low webcam resolution - 70x100 pixels is lots to work with (of course it depends on your accuracy requirments for movement - gaming, etc. has lots of leeway). Image quality isn't really a factor either, as long as you can make out the three points.

        • I can see this used to manage a desktop larger than your screen. or to slide between different work areas on your desktop. Just pick three points on the face to make your triangle and slide the focus based on which part of the screen the face is ...umm... facing.

          Look to the lower right corner of the screen and the desktop slides to the upper right bringing more real estate into view.

          I know there is technology that tracks the eyeballs to shift focus, but this sounds like it might be easier to use. You have
  • by morgan_greywolf ( 835522 ) on Monday May 23, 2005 @08:55AM (#12611084) Homepage Journal
    Any support for these 3D input devices []? I mean, there are Linux drivers, but as of yet no open source drivers (to my knowledge) for these devices.
  • by Anonymous Coward
    Are there any details about that controller? This seems like hot air without any pictures descriptions, feature lists or whatever.
    Everyone and his cat can register a sourceforge project...
    I's bit poor to post this on slashdot IMO
    • Everyone and his cat can register a sourceforge project...

      Funny you should say that, because my cat has this wonderful idea for an automated cat box with environmental sensors and controls based on Debian...
  • by Alt_Cognito ( 462081 ) on Monday May 23, 2005 @09:05AM (#12611135)
    I figure I'm going to need 30 or 40 more degrees of movement.
  • Name 5 games that use input devices even remotely close to this that run on linux.

    Also, why is this in /.games?!1one
  • I once worked with a device for 3D position sensing that used a spark, which generates a short sound impulse, and 3 orthogonal microphones. The arrival time of the sound was used to calculate the position. For best accuracy, you need to calculate the speed of sound based on air temperature.
  • by AndroidCat ( 229562 ) on Monday May 23, 2005 @09:29AM (#12611264) Homepage
    Do they have 3D chicken input? [] The National University of Singapore seems to be putting a lot of work into it.
  • Please include support for the SpaceOrb []. It is the best controller for 3D games, ever. Six degrees of movement and rotation from a very responsive controller ball, with 6 buttons that also support chording. They don't make the SpaceOrb any more, but you can still find new ones occasionally on Ebay. I would recommend buying two at a time because the controller can break easily if you don't treat it with respect... Don't yank the controller by its chord, and don't twist give the controller ball extreme twists
  • No offense to the Linux community or Linux in itself but often I come on Slashdot reading about the next great Linux evolution and I end up looking at some high-school grade projects. The tech demo is bad, really bad, I'm sure a N64 would do better. You can say it's because the guys are programmers not artist but the lack of any decent 3D trick tells me this tech demo show an outdated tech. No offense, I'm not taking on Linux in itself but this project. It looks bad and there is no reason to hype it up. Whe
  • by vojtech ( 565680 ) <> on Monday May 23, 2005 @10:01AM (#12611540)

    Linux already supports the:

    • SpaceBall 2003FLX
    • SpaceBall 3003FLX
    • SpaceBall 4000
    • SpaceMouse / Logitech Magellan
    • SpaceOrb 360
    • Logitech CyberMan2

    And most likely also the newer SpaceBall variants, because they all use USB HID.

    All the drivers are GPL and included in the standard kernel release. The CyberMan2 is very cool for playing Descent2 on Linux.

    I know it. I wrote the drivers.

    It seems the project is more about developing and marketing a new 6dof in a world where all gaming-oriented 6dofs (the SpaceOrb, available on e-bay for a few bucks, the CyberMan / CyberMan2) failed miserably.

    • well, if you wrote them, maybe you can help me:

      I have a Logitech Magellan Spacemous which works well with the magellan module.
      But I need to calibrate it. If I move the pad to the far left my starship in WC:PR starts rotating to the right.
      Any idea?
      • have you tried running 'jstest' and 'jscal'?
        'jstest' for testing that it operates correctly
        and 'jscal' for changing the default calibration
        values if needed.
        • to be honest, I don't know where to get them.
          The only place I found them was in the ruby package of the linuxconsole project, but asking on their list didn't give me an answer.
          The programs there complained about the devices not being joystick devices or something like that.
          I'll try again when I'm at the machine again.
  • That was a great controller however I never got my 99 bucks out of it thats for sure. It was supported by a few games (Notably Mechwarrior 2, which it was the perfect control for)...but eventually it got abandoned after about a year. Logitech quietly dropped all support for it. Same happened with several of my Gravis products. The pheniox was a great stick but they never shipped a control software suite for anything beyong win 3.1 for it. I wish companies would once source the software or at least rele
  • What I really need is a driver that uses all the buttons on my Logitech mouse!

    It's got (counts) 10 microswitches.

    No, this is not a troll. I do want to use all the buttons!


  • I never got the hang of those fancy-schmancy analog sticks or vibrate-till-i-got-carpal-syndrome gamepads.

    And now I'm too old to learn them properly. Pah! I don't need them anyway.

    I've got a brand new Competition Pro USB stick and play games as I did 15 years ago.

    Excuse me while I have a game of Bubble Bobble.

  • ... towards free cybersex. Long live Linux !
  • Probably the most common 6 degree of freedom input devices are the "ball on a stick" products, like the astroid [] and spaceball (logitech I think).

    The inventor of both these devices is a guy by the name of John Hilton (an Australian) who invented them in the 1980's. His original design was a monster and he soon came up with a method to put the levers all into a ball.

    There was a competing German product in the early 1990's, well, logitech bought the German company and then followed by buying the Spaceball

  • I think ARToolkit could be used for input.

    It uses a webcam to calculate position of
    a physical marker. It could be used for
    some cool method of controlling a game.. []
  • I don't think this is a good idea, developing support for the controllers (not just yet), unless this is a school project. Then it gets you a grade. (good one, I hope)

    I looked at the 'Snowballz' game and it looks pretty bad. I've seen better games on N64 and Windows 3.1. I've seen some 3D 'snowball fight' flash games that are better than this. And they are here, now and playable on Macs, PCs and Linux alike.

    I have been using Linux 10+ years now and and have been pushing it at work for almost as long.
  • What does DirectInput have to do with Linux again?

No problem is so large it can't be fit in somewhere.