Please login or register.

Login with username, password and session length
 

News:

Latest updates at DangerousPrototypes.com.


Author Topic: What about a KeyStick of some sorts?  (Read 428 times)

rhyvu

  • Newbie
  • *
  • Posts: 18
  • Karma: +2/-0
    • View Profile
What about a KeyStick of some sorts?
« on: February 04, 2010, 07:16:51 AM »
A lot of time I do repetitive work and therefore create macros using AutoHotKey to speed it up. Unfortunately some times I have to work on computers where running unauthorized software is not allowed and therefore I can not use AutoHotKey macros which is where I got the idea for a hardware macro device. Most computers no matter how locked down they are still allow people to use their own keyboards in case they have special needs so I was thinking of a stick you plug in an USB port and it identifies itself as a keyboard (no drivers needed). Now the stick is pre-programmed with a set of keys or key combinations and when a button on the stick itself is pressed it sends these keys to the computer as if it was a keyboard with someone typing on it. Any thoughts on this?

rsdio

  • Developer
  • Hero Member
  • *****
  • Posts: 530
  • Karma: +8/-0
    • View Profile
    • Sound Consulting
Re: What about a KeyStick of some sorts?
« Reply #1 on: April 08, 2010, 10:30:59 PM »
Interesting idea.

I think you could test this by plugging in two keyboards at once, and using one keyboard for all normal typing, and then simulate your macros by typing them only on the second keyboard. I just wonder whether the OS and most software would transparently take input from a second keyboard in all situations.

Another angle to consider is some sort of thru-hub. Your idea is probably cheapest, because it can be a simple USB HID with only a few buttons. But another approach would be more expensive, and could serve as a hub so that you plug the normal keyboard into your device and somehow merge the regular keyboard messages with your macros. I think the latter would require way more hardware and more programming, perhaps breaking keyboard compatibility if mistakes were made in the merge, but perhaps it would help if having two keyboards causes problems (which it may not).

rhyvu

  • Newbie
  • *
  • Posts: 18
  • Karma: +2/-0
    • View Profile
Re: What about a KeyStick of some sorts?
« Reply #2 on: April 09, 2010, 06:24:37 AM »
Actually I found a device that works in a similar way and it is called YubiKey It is meant to be used as an authentication device entering an one-time-password with the push of a button each time you login , this is so that your login is protected against password sniffing. It works at least with one keyboard connected and I can not see why several keyboards connected should be problematic (I have myself connected several keyboards to a computer at one time although one through USB the other through PS2). Unfortunately the YubiKey does not allow macro creation for other situations then authentication, if it would then I would have had my KeyStick already :p

Now I have to say I like your idea of a thru-hub, it make actually make things easier because I could then trigger the macros by keyboard shortcuts captured by the hub. Although I think something like this would be more difficult to use since it would not work on a laptop (unless it has external keyboard), companies do not like to see "things" on their cables (security risk with regards to password sniffing) and of course the always have to disconnect the keyboard, connect the hub, connect the keyboard, then disconnect the keyboard, disconnect the hub, connect the keyboard again instead of a simple connect/disconnect just like a flash drive. Still I appreciate you took the time to share the idea, I did not think about something like this before :)

rsdio

  • Developer
  • Hero Member
  • *****
  • Posts: 530
  • Karma: +8/-0
    • View Profile
    • Sound Consulting
Re: What about a KeyStick of some sorts?
« Reply #3 on: April 09, 2010, 06:41:56 AM »
I had a feeling that there should be no problem with multiple keyboards. I've used multiple mouse devices at once, and they always seem to work, even though they interfere with each other if both are moved at the same time. Two keyboards should work the same, although typing on both would result in jumbled text.

The HID+hub would be more expensive, suspicious, and perhaps less useful on a laptop, but I keep seeing more and more chips which implement a USB hub.  Adding a few buttons for macros and an HID device should be easy.  In fact, I don't think that that any literal merge would be needed so long as multiple keyboards are allowed. Once you have designed and implemented a HID+hub, with upstream and downstream ports, I think that it should still be possible to plug it into a laptop USB without an external keyboard and still get the right features. In other words, if the added expense of a hub doesn't stop such a project from getting off the ground, then it should be flexible enough to work in any situation, even one where a spare USB port is not available (provided you can remove the keyboard).

One final note is to wonder whether any system have security measures which might ignore added keyboards.

rhyvu

  • Newbie
  • *
  • Posts: 18
  • Karma: +2/-0
    • View Profile
Re: What about a KeyStick of some sorts?
« Reply #4 on: April 14, 2010, 06:26:54 AM »
Again I had not considered the possibility of a HUB that could work in standalone mode also, that would be the best option I think so thanks once more for your suggestion. I do not know if this will ever get of the ground, but it is an idea I have had for some time now and thought I would share it.

Regarding security measures that ignore added keyboards, I have never seen anything like that but if someone has then please share. The only thing I can think of is a laptop on which the USB ports are disabled completely.

rsdio

  • Developer
  • Hero Member
  • *****
  • Posts: 530
  • Karma: +8/-0
    • View Profile
    • Sound Consulting
Re: What about a KeyStick of some sorts?
« Reply #5 on: April 14, 2010, 03:25:43 PM »
I know how it can be with projects that may never get off the ground. I was in a discussion recently about a S/PDIF decoder/debugger that I am designing, and one response was "sounds like a fun project." If only I had time to start that one!

Meanwhile, you could perhaps start looking around the Microchip Application Notes for some ideas on implementing a programmable hub. Now that you have an option under consideration that you really like, a little further study might eventually cause more detailed ideas to gel. Take it at your own pace and you may eventually get there.

I can't remember how long I thought about making my own DMX512 dimmer, but I eventually designed the board, ordered them from Sunstone Circuits, and am now taking my own sweet time writing the code. Since this is a PIC16 design, it's pretty much assembly language only. I even have a quote for stuffing the boards and a potential user (Burning Man art car), but who knows how long it will take to be finished.

Anyway, the point I'm making is that you can make progress even if it is slow progress. Sometimes even taking a small concrete step can boost your enthusiasm enough to carry you to the next step.

rhyvu

  • Newbie
  • *
  • Posts: 18
  • Karma: +2/-0
    • View Profile
Re: What about a KeyStick of some sorts?
« Reply #6 on: April 15, 2010, 06:20:15 AM »
I know how it can be with projects that may never get off the ground. I was in a discussion recently about a S/PDIF decoder/debugger that I am designing, and one response was "sounds like a fun project." If only I had time to start that one!

Meanwhile, you could perhaps start looking around the Microchip Application Notes for some ideas on implementing a programmable hub. Now that you have an option under consideration that you really like, a little further study might eventually cause more detailed ideas to gel. Take it at your own pace and you may eventually get there.

I can't remember how long I thought about making my own DMX512 dimmer, but I eventually designed the board, ordered them from Sunstone Circuits, and am now taking my own sweet time writing the code. Since this is a PIC16 design, it's pretty much assembly language only. I even have a quote for stuffing the boards and a potential user (Burning Man art car), but who knows how long it will take to be finished.

Anyway, the point I'm making is that you can make progress even if it is slow progress. Sometimes even taking a small concrete step can boost your enthusiasm enough to carry you to the next step.

Thank you for your nice words, I appreciate it and want to wish you good luck with your project.

ian

  • Crew
  • Hero Member
  • *****
  • Posts: 2916
  • Karma: +61/-0
    • View Profile
Re: What about a KeyStick of some sorts?
« Reply #7 on: April 20, 2010, 12:51:44 AM »
The PIC 18F2550 + microchip's USB stack have a HID keyboard example. I've not worked with the HID stack, but the rest of it's not too bad once you get familiar with the framework.

This might be a good alternative firmware for the USB IR Toy (maybe just random keys, or sequences on a remote control button press?), I've added it to my list for a rainy day :)