I think everyone has seen any webcast preview about the amazing Surface. Some of our friends are so keen on it, that change their job just to earn some money to buy it :))
But have you thought a bit: 'how to heck have they done it?!'. And not the engineering stuff with cables, cameras, etc., but software. (Everything is about the software!). As they say: at the bottom they've got the Vista system and WPF apps. Nothing more.
When you look at any webcast dedicated to Surface you are sure they did something with the input. But then you may doubt if they changed the core of the windowing subsystem or simply started to interpret the input coming from devices differently at the app level.
Some time ago John Robbins wrote some words about Microsoft UI Automation and talked about the best session he had ever seen. It was about multiple input queues, which supposed to be in Vista (and/or Longhorn), but these features unfortunately are missing. They had to do it different way.
When you connect the second mouse / keyboard to your system nothing happens. They're fighting with each other for the control, another cursor doesn't appear. But - it works! So - the problem is with the interpretation of the device id (simply omitted), not the windowing subsytem. I was sure someone has already done something with the device id at the message level - and after few google clicks I found the project coming - no wonder! - from Microsoft Research :)
Two different cursors working at the same moment. Amazing! The libs are available for free with some quickstarts on wpf. Have a look (ctp release of the sdk). Also consider watching 30 mins webcast on ch9.
Of course, at the Surface they may have different approach - I think they have one input device connected to the system of cameras / other stuff with many logical lines interpreted by the driver (400 megabits (usb2) of information is enough to transfer much more than just 52 finger's inputs!). But - if you don't want to wait for your own Surface table, you may do it yourself - using wpf and free libs from MS :)
I don't know how about you, but I was amazed and had lots of fun playing with two cursors. What a potential!
Posted
06-07-2007 8:18 PM
by
Michal Grzegorzewski