New software for your USB Panic Button

I have got this gadget last year with Christmas and it looks very cool but with the included software it is pretty useless. It works like a boss key and when you hit it after a short delay it displays a low res chart on your screen…

It was on my “programming-for-fun-todo-list” for a whole year to make my own software for this cool gadget. I have used Jan Axelson’s Generic HID C# example to make it work. And finally it is here: USB Panic Button.zip (Updated version 1.1!)

With this new XP and Vista compatible software you can display any picture, play any .wav file and execute any command you want even simultanously. As a bonus I have include some image, sound and command examples, a cool earthquake effect and PowerPoint next slide control. This software requires the .NET 2.0 Framework.

Enjoy! And please drop a comment…

UPDATE 2009-10-06: You can download the source code here: USBPanicButton_src.zip

UPDATE 2017-07-23: Finally there is this Newest software for your USB Panic Button – Windows 10 compatible

USB Panic Button

.net, gadgets

188 responses to New software for your USB Panic Button


  1. BTodd

    John, thanks for your great software. I just picked up the Panic Button and it works flawlessly with it. Are you still open to making enhancements? I’d like to see an option to allow the sound file to loop 🙂

    Thanks again.

  2. Craig Ireland

    Hey John, love your software as i lost the original disk and drivers, i been wanting to use my panic button to essentially activate a screensaver and kinda lock the screen (not really fussed) by opening a .html file of “www.thecolourclock.co.uk” in a browser in full screen mode (F11) using either Google Chrome or IE which i have been able to do without fullscreen using ur superb “Command” input however when i press the panic button a second unlike ur picture input it just opens a second instance (opens in another tab) of the .html in the default browser.

    I would love it if you could offer any advice on how to set it up to open the .html file in full screen and how to on the second press it the closes the browser and therefore html file???

    Many Thanks, and once again a brilliant piece of software 🙂

  3. Sam

    I’ve just modified John’s work to get it working on Windows 7 x64, If no one objects I’ll upload it someplace and provide a link.

  4. That would be great Sam!

  5. @Sam
    I am trying to find some code to access USB in windows 7 x64 – but not having any luck, so Sam – it would be great to see some code 🙂

  6. moose

    any update for the 64bit? im thinking of using this for my photobooth thanks!

  7. Sam

    This should work: http://dl.dropbox.com/u/21730098/USBPanicButton%20×64.zip

    It’s just John’s source with a few tiny mods to work on x64 and a different Icon as I didn’t like the older one on windows 7.

    I don’t think I built an installer, but if you look in the bin/Debug folder I think I built the EXE.

  8. Billy Crook

    Any luck getting this bastard to work in GNU? If I can’t find some pre-existing GNU+Linux program for this, I want to write one. Any advice on how to get it to respond? I don’t see any event input when pressing it.

  9. Billy – see one of:

    http://www.lunarlamp.co.uk/usb-panic-button-linux
    http://freshmeat.net/projects/usb-panic-button-daemon

    I can’t guarantee it, as I use Win XP, but I found the first one before I found this page. I just picked this up second hand and thought it was some obscure toy — didn’t realise I’d be able to find a superior driver in minutes!

    The earthquake feature is quite funny, too.

  10. Susann

    Hi,

    I tried to run this on windows 7 (32-bit) with the Dream Cheeky Big Red Button…but it seems that the software doesn’t recognize the usb-button. Can anybody help me? I read something about a vendor and product ID…where can I configure this parameters?

  11. Jamie Nutter

    Hi,

    Does anyone have a version of the software that works with the Dream Cheeky button? I have one and quite urgently need to be able to get it to run a custom application.

    Many thanks in advance!

  12. Hi again John,

    Excellent, I ‘did’ get it working just fine.

    Is there a way to have your better version run on WindowsME too?

    Many thanks,
    Jeff Phillips.

  13. BTodd

    Sam – thanks a lot! Works great on Win 7 x64.

  14. Susann

    @JohnB
    Hi JohnB,

    I read that you tried to modify the software so that it is also working for other USB Buttons. I have this one http://www.dreamcheeky.com/big-red-button. Was your attemp successfully? I’m also looking for a software that is working for this button. Could you help me, please?

    Thanks.

  15. Josh

    I have the Dream Cheeky Big Red Stress button. I got it from Woot. All it does is open Windows Media Player. Doesn’t play anything. Just opens WMP. I tried the stock software and the software here. Same issue.

  16. Rod

    Hi admin, my best regards and congratulations.

    This is my BRB HID USB:

    Vendor ID: 0x1D34
    PID: 0x000D

    I am not a pro on C#. Where I have to do any required changes to read this HID device with your modified source code?

    Thanks.

  17. Rod

    Maybe I am learning by myself…

    Is line 429 on FrmMain.cs?

    [Int16 myVendorID = 0;]

  18. Rod

    …and line 428 too

    [myProductID = 0;]

    Sorry of my ignorance. I´m going to compile it.

    Thanks again.

  19. Henk

    Hello John, do you know is your application can also be used with the standby / eco-buttons which you see a lot nowadays? (press the button to send pc to standby)….

  20. jg

    how do we download the needed software that comes with it for a mac because we can’t put in the smaller disc

  21. Rod

    @Rod

    I am ofuscated. I can not do this button to do any actions after compiling source. Somebody… can help me?

    Thanks.

  22. Josh

    I am trying to modify the source code to work with the Dream Cheeky “Stress” button I got from Woot. Could someone point me to where I would need to change what line of code to look for my device id as the trigger?

    @John Bruin

  23. Pingback: USB Button Run Shell Script

  24. Josh

    @admin

    Could you tell me where in the source code I can find the device ID numbers? I want to try and modify the source to work with the button I got from Woot.com It’s a Dream Cheeky button.

  25. Dov

    Has anyone gotten this to work with the Dream Cheecky Stress button? If so I would be very interested

  26. Nomad of Norad

    What would really be neat would be a way to config this from the interface to work with one or more different makes of these USB buttons, so that you simply tell from a drop down menu or radio gadget that you have the Dream Cheeky Big Red Button, or the USB Panic Button, or what have you, and it adjusts itself accordingly. Even better might be if one could set it do one thing with the Panic Button and another with the Big Red Button if you have both on your machine.

    I have the Dream Cheeky Big Red Button, Bluw don’t seem to make the Panic Button anymore, which is a pity because that’s the one I REALLY wanted.

    Anyway, I downloaded Sam’s 64bit version of the program here (I’m on Win7 64bit), but it doesn’t work with the Big Red Button. I would love to see a version of this that works with the Big Red Button, and I see at least one other person here recently has said that too.

  27. Thomas

    @Rod
    Rod, were you able to get the “Dream Cheeky – Big Red Button” to work with the source code given the ids? I was going to give it a try and create a Distress Button out of it?

  28. Thomas

    Nomad. Looks like we’re on the same path. I was looking for the Bluw, but have ordered the Dream Cheeky since it was available. You probably tried it, but I was going to use software like “NirSoft” to get the vendorId and productID of the device to update in the provided code.

    I plan to use Windows 7 32-bit though. My intention is upon depressing of the button to call an external .vbs and auto send a “Distress Alert” BB email out to various securities. My current vbs application works now with Ctrl + F12 sending to outlook mail and BB gmail, but incorporating the button would be super!

    I should get the button on Nov 30, and will update if I make any progress.

    Wish me luck so we can all square this away with the Dream Cheeky button!

  29. havok

    @Thomas

    Any luck on your button? I’ve got a Dream Cheeky Big Red Button, but I’d like it to do something else like an autohotkey script. I’m not a programmer/coder, but I do pretty well with clicking.

  30. Josh

    Still hoping to get the Dream Cheeky button to work. I just want it to do the sound and screen image. Just don’t know which lines of code to look at. Right now if I press the button it just starts WMP, but that’s it. It doesn’t play anything. Just starts the program.

  31. Niek

    Hi,

    looks awesome! I’m no programmer (at all) but would it be possible to install 3 different buttons to start 3 different sounds? Or would they all respond to the same driver/program?

    hope someone can help!

  32. I am pretty sure that this will not work Niek…

  33. Scott

    Does anyone have another link to the 64bit version of the software? All of the links point to a non existent file. Thanks.

  34. Scott

    @John Bruin
    Thanks, excuse my low understanding of everything, but what program do I need to use to compile this?

  35. Scott

    @John Bruin

    Nevermind my last request, I found Visual C#. I know a lot of people have been asking, but off the top of your head if someone was to find the vendorID and product code of the device they wanted to read from (one of the many dream cheeky buttons right now) is it as simple as just replacing those values? Or is it much more complicated to get the code to work with a non panic button?

  36. Scott

    So the code is recognizing my Dream Cheeky button (not the panic button) when I put in the VendorId 1d34 and productId 0008. But it is still not responding to any inputs from the device even though it’s saying it is connected correctly. Does anyone have any insight into this?

  37. Scott

    @panic.button
    When I run the code, I am seeing 0 feature reports and get no response from the device even though it says it is connected to it.

  38. Rick

    @Scott

    How did you do this scott?

  39. Rick

    Do you have the hulk smash button?

  40. Scott

    @Rick
    I have the Spiderman spider sense button.

  41. Scott

    @Rick
    All I did was edited the vendor ID and product ID in the code to match what USBlyzer showed for the Dream Cheeky button. in my case it was 1d34 and 0008. The traces show that it identifies the device, connects to it and reports back, but it shows no Feature Reports. The Feature Reports seem to be the piece that allows the computer to poll the input reports on the device and check for the button press. I am at a loss as to what to do from here though. I tried another script in python to see if it would give me any more luck but I dead ended on that very quickly and I could not get pyUSB and libusb to connect to each other.

  42. Graham Toal

    Scott, after installing pyusb and ctypes I got the python script to run (after rebuilding it from ‘view source’ to recover the lost indentation) – and as I have the Spiderman version too (from Woot) I changed the dev.idProduct to 8 as you did. Also earlier I created /dev/hiddev96 via “mknod /dev/hiddev96 c 180 191” as someone elsewhere recommended though I’m not sure it helps – rm’ing it made no difference to the error I get).

    So this is what I see:

    [root@localhost ~]# ./testred2.py
    Traceback (most recent call last):
    File “./testred2.py”, line 21, in ?
    handle.claimInterface(interface)
    File “/usr/lib/python2.4/site-packages/usb/legacy.py”, line 220, in claimInterface
    util.claim_interface(self.dev, interface)
    File “/usr/lib/python2.4/site-packages/usb/util.py”, line 177, in claim_interface
    device._ctx.managed_claim_interface(device, interface)
    File “/usr/lib/python2.4/site-packages/usb/core.py”, line 104, in managed_claim_interface
    self.backend.claim_interface(self.handle, i)
    File “/usr/lib/python2.4/site-packages/usb/_debug.py”, line 53, in do_trace
    return f(*args, **named_args)
    File “/usr/lib/python2.4/site-packages/usb/backend/libusb01.py”, line 427, in claim_interface
    _check(_lib.usb_claim_interface(dev_handle, intf))
    ctypes.ArgumentError: argument 2: exceptions.TypeError: wrong type

    Any suggestions?

    PS My app for this will be a manual emergency shutdown switch for a supercomputer cluster in the event of air conditioner failure and overheating. It will kick off a script that shuts down all the nodes cleanly in order.

  43. Pingback: Physical button to run scripts on a windows machine?

  44. Raqy

    I have an example for the Dream Cheeky button in c# that is using a different USB example. It works perfectly for days when the device is plugged into a USB 3 port. When it is plugged into an older USB port it steps working after about 5 seconds.

    If you are interested send me an e-mail and I will send you the project. But if you figure out how to make it work on older USB ports please let me know 😉

  45. Rich

    I’ve just tried this with my DreamCheeky Big Red Button (after updating the ViD & PiD), and it’s like the others, 0 feature reports so no joy. I tried accessing the Input Report, but that never seemed to have any useful data in it. 🙁

  46. Gavin

    Did anyone get this to work with the “Big Red Button”? I need it to simulate a keypress or a left button click.

  47. Josh

    I have been trying the tips shown above to change the source for windows 7 so it will work for the spiderman spider sense button with no success. when I enter in the vendor and product ID, I get an error for 1D34. Has anyone had any success with Win 7 x64? Please email me at leftyman89@yahoo.com if you have any suggestions please!

  48. Scott

    Graham, have you made any progress with PyUSB? Ive gotten off this for right now working on other projects but am still interested in solving this . As for your comment, it simply looks like you are getting some compile errors from python. Has anyone gotten anywhere with using the modified x64 bit C software on here? When looking into PYUSB it seems to use the wrong listeners for the device.

  49. Carlos

    I everyone,

    I dont have any knowledge in electronics & programming stuff… i’m a photographer and i want to use a usb button to give one instruction to an APP.

    I have some questions / doubts that i would be very pleased and happy to get an answer…

    1 > Where can i buy, for example, a one light button usb? (a button that when pressed give a led light for example…)

    2 > What/how do i do to make that usb button simulate a left click mouse key or to attribute any keyboard key (i.e. F4 key);

    3 > What software do i have to install on my windows XP to make it work?

    Please let me know anything in hukwe76@gmail.com

    Thanks in advance,

    Carlos

Leave a Reply