Is it possible to see events from a USB stick - events

Is it possible to see the events from a USB stick? I live with others, and I had two important files on there. One has been deleted.

Related

SmartEyeglasses and Subtitles - Accessibility

I work for a performing arts institution and have been asked to look into incorporating wearable technology into accessibility for our patrons. I am interested in finding out more information regarding the use of SmartEyeglasses for supertitles (aka, subtitles) in live or pre-recorded performance. Is it possible to program several glasses to show the user(s) the same supertitles at the same time? How does this programming process work? Can several pairs of SmartEyeglasses connect with the same host device?
Any information is very much appreciated. I look forward to hearing from you!
Your question is overly broad and liable to be closed as such, but I'll bite:
The documentation for the SDK is available here: https://developer.sony.com/develop/wearables/smarteyeglass-sdk/api-overview/ - it describes itself as being based on Android's. The content of the wearable display is defined in a "card" (an Android UI concept: https://developer.android.com/training/material/lists-cards.html ) and the software runs locally on the glasses.
Things like subtitles for prerecorded and pre-scripted live performances could be stored using file formats like .srt ( http://www.matroska.org/technical/specs/subtitles/srt.html ) which are easy to work with and already have a large ecosystem around them, such as freely available tools to create them and software libraries to read them.
Building such a system seems simple then: each performance has an .srt file stored on a webserver somewhere. The user selects the performance somehow, and you'd write software which reads the .srt file and displays text on the Card based on the current timecode through until the end of the script.
...this approach has the advantage of keeping server-side requirements to a minimum (just a static webserver will do).
If you have more complex requirements, such as live transcribing, support for interruptions and unscripted events then you'd have to write a custom server which sends "live" subtitles to the glasses, presumably over TCP, this would drain the device's battery life as the Wi-Fi radio would be active for much longer. An alternative might be to consider Bluetooth, but I don't know how you'd build a system that can handle 100+ simultaneous long-range Bluetooth connections.
A compromise is to use .srt files, but have the glasses poll the server every 30 seconds or so to check for any unscripted events. How you handle this is up to you.
(As an aside, this looks like a fun project - please contact me if you're looking to hire someone to build it :D)
Each phone can only host only 1 SmartEyeglass. So you would need separate host phones for each SmartEyeglass.

I want to make an arcade stick USB driver for OS X

I have an arcade stick for my PS3 that I used for fighting games. I rarely play them anymore so I figured I'd plug the stick into my Mac and see if I could get some arcade gaming going on my computer. I have tried this on Windows too and it seems like there are no drivers for either OS.
Now, I'm not one to be disappointed and just give up like that. I thought that this would be the perfect opportunity to attempt to write a driver. How hard can it be? All I need is a plan.
The Plan
I want a driver that supports every function of the arcade stick. This includes:
Eight face buttons
Analog stick
Lock/direction switches (the latter is three steps and the former is two steps)
Home/Turbo buttons
Two side buttons
I was searching around for stuff that could help me accomplish this but I don't really know where to start. I want a tool that can scan a USB port for signals coming from a connected device and from those signals decipher what input it corresponds to. I then want to map that input programmatically to an OS X API for game controllers, put it all in a package and voilá: driver!
Maybe this only works in my head. For starters I can't find this magic USB tool that I'm looking for. I tried USB Prober and it detects my arcade stick but I can't get any log entries when I press buttons on the stick. (Yes, I installed the log kext)
Most of the search results were regarding scanning USB network interfaces. I don't think it's what I'm after.
I also got this idea that maybe USB devices behave like old school Unix devices and I'd be able to do something like cat /dev/usb/port3 and get some good data but I have not found anything like that.
I just don't know where to start. I found some Apple documentation on USB devices but I don't even know if the stick is HID compliant.
Right now I'm mostly looking at libusb and skimming through documentation.
I haven't really dealt with this kind of project before so any ideas and tips are welcome.
Thanks!
Most PS3 controllers are just HID devices, so you should be able to work from that direction.
A much simpler route, and less personally satisfying I suppose, would be to just grab one of the USB->Mac game controller applications and run with that.
I've used USB Overdrive for years and it always seems to work well.

Fine-grained (removable) drive-type determination

I’m trying to write a little tool to simplify inventorying my removable media. Getting and storing a list of files on the media is simple enough, but I want to be able to catalog them according to what type of drive they are.
There is an API function to get the drive type, but it is old and limited to floppy, CD, fixed, removable, network, and RAM. it does not give fine-grained information to determine whether a drive is a flash-drive or a memory-card (let alone even more detailed like what kind of memory-card). Even a newer function meant for USB drives doesn’t seem to specifically differentiate between types of USB media.
Is there a reasonably easy and reliable way (preferably C++) to determine that? (Yes, I know that some media can be modified to present as different types, but it only needs to work well enough for normal, standard media.) There is definitely some way to do this because Windows contains different icons for all kinds of media in shell32.dll, and Explorer usually uses the correct one when you plug them in.

Writing a game controller driver for some hardware connected via USB

I'm looking to create a driver for a game controller I have (a cobalt flux www.cobaltflux.com ). The physical controller itself has nine face buttons and two control-box buttons (start/select). The control box has a usb port, but as far as I can tell no one has ever written drivers for it before. The end result I want is to be able to plug in the cobalt flux via the usb port and have windows recognize it as a game controller.
I have some programming experience. I'm a senior undergraduate student in computer science at UC Davis and an intern at a large embedded systems company, however this project involves several aspects I have no experience in: interfacing hardware and software via a USB port, investigating feedback from hardware I didn't build (which bits light up when I press a button?), and creating drivers and indeed programs in general for windows.
Since I don't personally know anyone who would be able to set me on the right track for a workflow to solve this problem, I'm asking here. I imagine the approach going something like:
I connect the device via a usb
I open up a program to poll what the effects of pushing buttons are on the USB channel
I write a program that interfaces those signals from the USB port to the game controller drivers that windows has
It may be worthwhile to note that I need to have joyPAD support and not joySTICK support for the buttons since play will involve pressing down any number of buttons at once and joysticks generally only register one direction of input at any given time.
Any advice or help would be greatly appreciated. I am having trouble figuring out where to start.
I have exactly the same problem for more than a year now and I did not found the right solution yet.
When you plug in the pad via USB it announces with a device ID and a vendor ID which device it is. Windows Plug-and-Play starts searching for a driver. This mechanism spots it is a pointing device (in my case one or 2 mice) and makes sure that it is treated as a raw data input device. Input from these devices is converted to messages handled by the OS. The solution seems to be to pass the messages of such a raw input device to the right handler. In my case the two mice are both recognised as mice and the messages are used by the same handler as the ones coming from the 3rd mouse that is really my pointing device. I am not experienced enough in C++ coding in order to dig into the rawinput API. I just received an interesting link as answer on my question: http://www.icculus.org/manymouse/ at least this gives an answer on my problem. May be it will give you ideas for writing your driver! Good luck !!! Stefan

Use an output device as a recording source under Vista/Win7 new sound API?

As I understand it, Vista introduced a completely rearchitectured sound input/output system to the OS. In particular, before Vista there was a single system-wide sound mixer, to which output devices could be connected. For recording, it was possible to retrieve data directly from a recording device or from this mixer.
In Vista and later, as I understand it, there is no longer a system-wide mixer. It is possible, in theory, to route some sounds to one output device and other sounds to a different output device,1 and this requires separate mixers for each output device.
Now, I have a simple recording application that I would like to update to take advantage of this new API. In particular, I was hoping it would be possible to let the user select one of the output devices as an audio data source. My reasoning is that the OS probably mixes all the inputs into each sound device anyway, and hopefully provides a way to tap into the mixed data.
Is it possible to select an output device as an input into my recording application, and if so, how?
1Although I am yet to find any UI that actually lets one do this.
Loopback Recording

Resources