Author Topic: QWERTY to Colemak via hardware. USB key or built in hardware/firmware?  (Read 15429 times)

0 Members and 1 Guest are viewing this topic.

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
Don't know why the other thread on this topic was closed, don't care. I linked to it below for reference. I know a few people besides myself are interested in this possibility so I chose to start and keep open another thread. I'll post the responses I get to any additional info on this topic I get and see if we can advance the cause. Any contacts, links, info anyone can contribute is appreciated. That's one of the things that makes Geekhack great.

One option is a USB key, and another is a built-in selectable hardware/firmware option. Both have merit.

Link:
http://geekhack.org/showthread.php?19094-Want-a-USB-key-to-translate-QWERTY-into-Colemak-Come-this-way...
« Last Edit: Sat, 02 July 2011, 19:57:56 by input nirvana »
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline alaricljs

  • I be WOT'ing all day...
  • ** Civil Servant Emeritus
  • Posts: 5274
  • Location: NE US
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #1 on: Sat, 02 July 2011, 20:52:49 »
It's closed because voltrons lips ran away.

I found this intriguing bit and am wondering if it's possible to run it on a USB capable AVR to give you dual USB.  V-USB is low-speed only which should be no problem since this is a keyboard we're talking about.  The V-USB end would have to be the output side of the dongle since this software doesn't do host mode.

Now you just need a host-capable AVR - unfortunately the Teensy doesn't come that way.
Filco w/ Imsto thick PBT
Ducky 1087XM PCB+Plate, w/ Matias "Quiet Click" spring-swapped w/ XM Greens

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #2 on: Sat, 02 July 2011, 21:06:32 »
Wow, thanks! The OD guys make some quality stuff. Didn't know about this, though. Must be fairly recent?

I guess I have a several goals with this:
1-A hardware solution....to implement in projects
2-USB solution....just like a QIDO but maybe cheaper/better. A mobile, non-keyboard specific solution
3-a resource on Geekhack that is of value to others....doesn't need explanation

Unfortunately, I am not skilled in firmware, software, programming, etc. That is the bulk of this project. :( My contributions must apply elsewhere. At this point I am trying to assemble the info, centralize the people, companies, info, materials, etc, to move this forward. My initial motivation is for the hardware solution that can be used with my Kinesis split mod. There may be a link or two in the other thread I'll find and add here.
« Last Edit: Sat, 02 July 2011, 21:11:18 by input nirvana »
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline Soarer

  • * Elevated Elder
  • Posts: 2672
  • Location: UK
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #3 on: Sat, 02 July 2011, 22:14:56 »
Easiest would be adapting one of the current ps2 to usb projects to suit, but then that's limited to non-usb keyboards.

Controller swap in a keyboard is also pretty straightforward in most cases, but not plug and play obviously.

USB host is tricky because of lack of hardware (e.g. Teensy type board with '1287 chip).

USB HID is a can of worms. Supporting the basic 6 key + modifiers packet (like a BIOS does) might be doable (in a sensible amount of time), but you'd lose any fancy features the keyboard might have, such as pointing device, media keys, >6kro, hub, etc. I suspect that the QIDO device is limited to BIOS mode, because anything more is a lot of effort.

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #4 on: Sat, 02 July 2011, 22:33:49 »
Thank you Soarer.

Let me use my personal projects as an example:
-Kinesis Contour which has many keyboard features...want to maintain this
-some are PS/2
-some are USB
-I would choose to use a built-in hardware solution

This is just what is wanted for my projects. I believe many more would need a USB plug-in for mobile work situations. A little more difficult perhaps.

Can you please elaborate on any of your points (when you have a little time?) as far as the best path?
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline hasu

  • Posts: 1091
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #5 on: Sun, 03 July 2011, 02:24:04 »
As for a DIY USB-USB converter like QIDO,
it is clear that the problem exists mainly on its USB host side.

Software Solution:
Though the article is a little bit old, this guy managed to host a USB keyboard just with AVR 2313.
This software can host only a low speed device, not full speed.
This might be useful as a start point of an DIY USB-USB converter (with Teensy?).
I want to know other similar software solutions if any. Anyone has info?
http://www.asahi-net.or.jp/~qx5k-iskw/robot/usbhost.html
(It is a Japanese page. Use translation service.);


Hardware solution:
Some Cypress USB chips seem to have host port and peripheral port at same time.
http://www.cypress.com/?id=186
I am very curious about what chip QIDO uses inside the dongle. Anyone knows?
⚠ My Engrish is broken.    tmk keyboard firmware project(ADB,PS/2,X68K,PC98,M0110,HHKB,GH60)

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #6 on: Sun, 03 July 2011, 02:50:27 »
Thank you for posting Hasu :)

The Cypress link is a good resource.

I'm thinking a wiki article may need to be started to organize this as a project. Does anyone else think we should start a wiki?
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline Soarer

  • * Elevated Elder
  • Posts: 2672
  • Location: UK
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #7 on: Sun, 03 July 2011, 07:51:02 »
PS2 boards are easy, with tweaks to a current Teensy-based adapter.

I think the features on the Kinesis mostly only affect which keys are sent (e.g. macros etc), but with a BIOS style USB-to-USB adapter you would lose the ability to plug other devices into the hub.

BIOS style means only handling a single keyboard device, with an 8 byte packet (6 keys + modifiers), it doesn't include media keys etc.

When I said "USB HID is a can of worms", I mostly meant on the host side, parsing the HID descriptors etc. But for any extras (beyond BIOS mode) to be useful, they would need to be replicated on the client side, so that the PC's USB host can see them. I don't know if a simple pass-through would be possible, which only modifies the bytes in (BIOS style) keyboard packets leaving all else unchanged (it would be 'tricky' anyway!).

Offline keyboardlover

  • Posts: 10201
  • Hey Paul Walker, Click It or Ticket!
    • http://www.keyboardlover.com
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #8 on: Sun, 03 July 2011, 23:16:40 »
USB > PS/2

\My contribution to this project

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #9 on: Sun, 03 July 2011, 23:37:21 »
Quote from: keyboardlover;372853
USB > PS/2

\My contribution to this project

You can be such a big weenie sometimes. If it wasn't so much work (for me, at least) I would make a GH duck crap on your GH avatar.

I'll take your input, but be advised I'll be expecting some other follow through at some point. I'm sure in your expert grilling travels you'll come across some extremely helpful info to contribute, I know you can. In other words, you still owe something, but your credit is good here.

Glad you didn't burn your weenie, weenie.

Thread readers: This post and the previous post are a continuation of another thread, and not really relevant to THIS thread. :)
« Last Edit: Sun, 03 July 2011, 23:58:54 by input nirvana »
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline theferenc

  • Posts: 1825
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #10 on: Mon, 04 July 2011, 00:36:54 »
I definitely like this idea, except for the "non-keyboard specific part".

I think it wouldn't be too hard to do, at least at a basic level, for keyboards. As soarer pointed out though, that would likely lose some special features a keyboard might have. And as I mentioned in the other thread, Hasu's ps2 converter actually has this functionality already, and is pretty straightforward to modify.

Figuring out the USB<->USB aspect would likely be the most difficult.

And I assume this would have to be driverless, otherwise it sort of defeats itself, yes? I've had some decent luck with intercept drivers before, passing keyboard input to an external device and receiving it back in some transmogrified form, but that definitely requires drivers, so not plug and play.

Another thought: what about getting something like Synergy running an arduino or teensy, but having it do the translation prior to kicking it out over the network interface? You can pass network data over a USB port without drivers, but it can be a bit...wonky. And it would require that you run synergy on the host machine, but that can be done without an install, from a flash drive, for instance.

These are just thoughts, by the way, but I would be interested in pursuing this project. While for my current purposes, Hasu's project worked perfectly (post-modification), some day I may not have PS/2 keyboards, so having a project I can turn to in the future would be nice. So count me in on this one. I can do some of the software side, I would think.

Do we want to pool our resources and snag a QIDO, see if it can be reverse-engineered (outside the US, of course)? I don't have the hardware to dump and/or flash it, but someone here might.

Edit: Oh, and can we have the option for more than 104 key keyboards, please? Specifically, the terminal emulators which send unique codes. It would be nice if we didn't lose that ability. The USB HID spec has codes for those extra keys, after all, so why not just include them as a pass through type deal.
« Last Edit: Mon, 04 July 2011, 00:39:10 by theferenc »
HHKB Pro 2 -- Custom UNIX layout Unicomp Customizer 101 -- IBM Model M 1391401 (modded to UNIX layout) -- IBM 1397000 (also UNIX layout) -- SSK in UNIX layout -- Model F 122 key in UNIX layout (Soarer USB "native")
 
CST L-TracX trackball -- Kensington Expert Mouse trackball

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #11 on: Tue, 05 July 2011, 12:03:17 »
A Geekhack thread on the idea of a mobile audible feedback adapter. This would be a fantastic feature to add.

http://geekhack.org/showthread.php?19518-Tactility-in-your-pocket-bringing-audible-feedback-to-usb&p=373755&posted=1#post373755
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline eyesnine

  • Posts: 220
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #12 on: Tue, 05 July 2011, 13:04:26 »
Wow, this thread and link just opened my eyes.

Why get a programmable keyboard when a DIY PS/2 to USB adapter/keymapper is relatively easy to make? This is great, I may have to order myself a Teensy very soon.

The audible feedback is a good idea, too. Not really my cup of tea, but I'm sure there are lots of people that would find it very useful.

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #13 on: Tue, 05 July 2011, 13:13:35 »
Sooo...you're proposing a stand-alone "non-keyboard specific mobile adapter" that is basically the "programmable keyboard PCB without the keyboard"  Am I right?

-programmable
-re-mapping
-macros
-audible feedback
-embedded layers
-alternate layouts
-small secret storage compartment for incidentals (toothbrush, $100 bill, car keys).......relax, I'm joking....

----HumbleHacker is one option that exists in principle, with some additions. http://geekhack.org/showwiki.php?title=Island:6292&highlight=humblehacker
« Last Edit: Tue, 05 July 2011, 13:30:06 by input nirvana »
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline eyesnine

  • Posts: 220
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #14 on: Tue, 05 July 2011, 13:34:33 »
As a mass market product it would be difficult. The software (firmware programming) would be hard to make both comprehensive and accessible. Almost impossible. Whatever limits the software defines, someone will want to do something beyond those limits.

However, for a little device that I could hack together without caring whether anyone else can use my firmware code it's an excellent solution!

I suppose that as long as the code is well documented and open source there will be others that could get some good use out of it, but I don't think it has any commercial potential without a nice graphical firmware programming application.

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #15 on: Tue, 05 July 2011, 13:51:52 »
Got it.

I wasn't thinking specifically as a commercial, mass market product. Just pointing out some similar concepts. There are actually a couple on this forum I believe...again, in principle.

We're in the information collection/cementing the idea phase.
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline Soarer

  • * Elevated Elder
  • Posts: 2672
  • Location: UK
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #16 on: Tue, 05 July 2011, 15:19:14 »
Quote from: theferenc;372889
Edit: Oh, and can we have the option for more than 104 key keyboards, please? Specifically, the terminal emulators which send unique codes. It would be nice if we didn't lose that ability. The USB HID spec has codes for those extra keys, after all, so why not just include them as a pass through type deal.

'Cos Windows, at least, doesn't really handle those codes :-(  I found it was better to send some of the more obscure ps/2 codes instead, because at least they're easily remappable by autohotkey or whatever.

Offline theferenc

  • Posts: 1825
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #17 on: Tue, 05 July 2011, 15:39:02 »
Really? That's weird. Doesn't Unicomp use those USB HID codes? Or do they cheat and use the PS/2 codes instead? Considering they can't be used with a purple adapter, I assumed the former. Well, it's something to look into.
HHKB Pro 2 -- Custom UNIX layout Unicomp Customizer 101 -- IBM Model M 1391401 (modded to UNIX layout) -- IBM 1397000 (also UNIX layout) -- SSK in UNIX layout -- Model F 122 key in UNIX layout (Soarer USB "native")
 
CST L-TracX trackball -- Kensington Expert Mouse trackball

Offline sordna

  • Posts: 2832
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #18 on: Tue, 05 July 2011, 16:01:24 »
Quote from: input nirvana;373793
Sooo...you're proposing a stand-alone "non-keyboard specific mobile adapter" that is basically the "programmable keyboard PCB without the keyboard"  Am I right?

-programmable
-re-mapping
-macros
-audible feedback
-embedded layers
-alternate layouts

 
Um, you realize you just described the Kinesis Advantage keyboard controller, right? Maybe they will sell the controller separately if you ask!
Otherwise, just yank the controller out of that contoured keyboard you're selling.
Kinesis Contoured Advantage LF with Cherry MX Red switches / Extra keys mod / O-ring dampening mod / Dvorak layout. ErgoDox with buzzer and LED mod.
Also: Kinesis Advantage Classic, Kinesis Contoured Model 110, Data911 TG3, Fingerworks Touchstream LP, KBC Poker (Cherry MX Red), IBM Space Saving keyboard (Buckling spring), Goldtouch GTU-0077 keyboard

Offline Soarer

  • * Elevated Elder
  • Posts: 2672
  • Location: UK
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #19 on: Tue, 05 July 2011, 16:04:51 »
Are any unicomp keyboards dual mode?

The problem is that Windows translates the HID codes back into ps/2 codes (scan code set 1, actually). Details here. The problem lies where the function is undefined in the scan code set.

Offline Titmouse

  • Posts: 73
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #20 on: Tue, 05 July 2011, 16:07:43 »
I'm definitely interested in this. I just ordered a Teensy. But I have a couple deadline coming up later this month, so probably won't be able to play with it much until next month.
"Surprise! We threw away your old ugly keyboard and got you a brand new ergonomic keyboard from Microsoft!"  -- Findecanor

Offline eyesnine

  • Posts: 220
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #21 on: Tue, 05 July 2011, 20:08:04 »
Quote from: sordna;373913
Um, you realize you just described the Kinesis Advantage keyboard controller, right? Maybe they will sell the controller separately if you ask!
Otherwise, just yank the controller out of that contoured keyboard you're selling.
I would assume that a Teensy is both cheaper and easier to program than the Kinesis Advantage keyboard controller. I doubt Kinesis will supply the firmware source code along with the controller. Though, I also doubt they will supply the controller.
« Last Edit: Tue, 05 July 2011, 20:39:15 by eyesnine »

Offline sordna

  • Posts: 2832
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #22 on: Tue, 05 July 2011, 20:38:34 »
Well, the Kinesis controller is programmable from the keyboard itself, no software needed. It has 2 logical layers, each fully remappable, and supports macros, configurable audible click, and has QWERTY and DVORAK switching functionality built right in. For Colemak, you can easily remap one of the 2 logical layers to it. Very important to note, it has on-board non-volatile memory, so your settings are preserved when you unplug the keyboard.
But yes, cost/availability of the controller by itself is unknown, one would need to ask Kinesis about it.
« Last Edit: Tue, 05 July 2011, 20:45:21 by sordna »
Kinesis Contoured Advantage LF with Cherry MX Red switches / Extra keys mod / O-ring dampening mod / Dvorak layout. ErgoDox with buzzer and LED mod.
Also: Kinesis Advantage Classic, Kinesis Contoured Model 110, Data911 TG3, Fingerworks Touchstream LP, KBC Poker (Cherry MX Red), IBM Space Saving keyboard (Buckling spring), Goldtouch GTU-0077 keyboard

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #23 on: Wed, 06 July 2011, 14:44:34 »
I have some answers from Kinesis, but that should be updated, info is a year old. Yes, the Kinesis does much of this and is functionally awesome. One idea on this thread was for a USB smaller-sized dongle for easy portability, as opposed to the Kinesis main pcb. Teensy seems small enough. Also for project boards size is a issue. The Kinesis has a TON of room inside and the pcb is darn big. See my Kinesis Contoured Split Project link in my signature for pics.

Thanks to everyone that has posted and contributed so far, I'm very committed to this and will start a page in the "mod" section tomorrow and maybe move this thread as well? I'll send emails to some Geekhackers that have already done some type of groundwork on parts similar to this.

Your thoughts?
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #24 on: Thu, 07 July 2011, 12:13:37 »
Perhaps naive on my part, but would it be possible/feasible to have new/augmented firmware for the existing Kinesis main pcb? I'm mostly thinking of an additional embedded layer, (HumbleHacker has 4 layers) and maybe some other items anyone would throw into this project.
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #25 on: Sun, 10 July 2011, 21:05:30 »
Welcome to Geekhack!

The hardware qwerty-colemak (dongle or not dongle) will need to do much more than just what the name says. There are a few items people have mentioned in this thread that are outstanding. A wish list needs to be drawn up so a project goal can to be established. This may get split into 2 projects, making one very simple and quick turnaround.

I'm daydreaming of a project board that can take signals from any keyboard, and add programmability, multiple layers for layouts, keypads, etc. on the way to the computer.

I think this will take several weeks to get some people thinking seriously, posting their thoughts, and start to come up with a plan.

Electrocution will NOT be on the wish list :)
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline eyesnine

  • Posts: 220
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #26 on: Sun, 10 July 2011, 21:45:01 »
It has pretty much already been done here with the Teensy PS/2 to USB converter: http://geekhack.org/showwiki.php?title=Island:14618 It's just a matter of hacking the firmware to make it do Colemak conversion as well.

Adding a little speaker shouldn't be tough. Adding USB support would be difficult, and might not be possible with Teensy - I'm not 100% sure of that platform's limitations. Though, I suppose that an off the shelf USB to PS/2 adapter could be used before the PS/2 to USB conversion for most keyboards.

The hard part is the software. Making a piece of software that can generate firmware with the desired behavior (Colemak, Dvorak conversion, custom layouts, layers, etc.) is where 99% of the work is required. If the software isn't created then the majority of potential users will be reliant on the unpaid work of open source programmers, and sifting through an endless variety of firmwares of varying quality and compatibility.
« Last Edit: Sun, 10 July 2011, 21:57:51 by eyesnine »

Offline Input Nirvana

  • * Bard of Virtue and Vice
  • Thread Starter
  • Posts: 3603
  • Location: Somewhere in the San Francisco Bay area
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #27 on: Sun, 10 July 2011, 22:24:37 »
Quote from: eyesnine;377829
It has pretty much already been done here with the Teensy PS/2 to USB converter: http://geekhack.org/showwiki.php?title=Island:14618 It's just a matter of hacking the firmware to make it do Colemak conversion as well.

Adding a little speaker shouldn't be tough. Adding USB support would be difficult, and might not be possible with Teensy - I'm not 100% sure of that platform's limitations. Though, I suppose that an off the shelf USB to PS/2 adapter could be used before the PS/2 to USB conversion for most keyboards.

The hard part is the software. Making a piece of software that can generate firmware with the desired behavior (Colemak, Dvorak conversion, custom layouts, layers, etc.) is where 99% of the work is required. If the software isn't created then the majority of potential users will be reliant on the unpaid work of open source programmers, and sifting through an endless variety of firmwares of varying quality and compatibility.

So a USB-PS/2 conversion could happen with the Teensy? That would be ok I suppose.

Back to software. Is it difficulty or time? Or both? Have you seen Humble Hacker?
Kinesis Advantage | RollerMouse Free 2 | Apple Magic Trackpad | Alphagrip | Colemak | all on Mac
Evil Screaming Flying Door Monkeys From Hell               Proudly GeekWhacking since 2009
Staying in touch with Tapatalk Pro                                Thanks much, Smallfry
I AM THE REAPER...BECAUSE I KILL IT

Offline eyesnine

  • Posts: 220
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #28 on: Sun, 10 July 2011, 22:49:42 »
Yeah, realistically I think you're looking at a software paradigm something along the lines of the HumbleHacker. In other words, if you can hack open source code then your keyboard is programmable. If not, then you'll be stuck with other people's firmware. If the firmware versions are well categorized, searchable and documented properly then this can work. If not it can turn into a useless pile of code very quickly.

A custom firmware generating app is too time consuming to make. The difficulty is not negligible, it's not like you're dealing with anything too complex, it just takes an in depth, comprehensive knowledge of the Teensy platform. The problems start cropping up in the design stage, since you'd start with a simple key-remapper, then you'd go ahead and add layers. Then someone wants macros, so that's a whole other big chunk of time. Then someone else wants a button that repeats the last character pressed, another person wants a "Turbo" mode, where a certain key automatically repeats on depress, then someone else wants to have control over the repeat rates of each individual keypress, then someone else wants it to do spell checking, and another person wants it to automatically expand abbreviations, etc, etc, etc, ad infinitum. Trimming the wishlist is tough.

On the other hand with well documented accessible firmware code (and no keyboard programming app) you can always say to a request: great idea! The code's right there, dive in and let us know how it works out for you.

Offline eyesnine

  • Posts: 220
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #29 on: Sun, 10 July 2011, 23:00:15 »
The key, then, is to establish a community around a simple device.

I like the idea of the female PS/2 wired to a Teensy. Both parts are cheap and easily obtainable, and the device is simple enough that someone with no experience with electronics would be able to twist some wires together and make it work.

After that, you need some forums so the noobs can ask questions and make requests, and the programmers can exchange ideas and establish standards, and a publicly accessible database (ftp is easiest) of different firmware versions that are all compatible with the same simple hardware.
« Last Edit: Sun, 10 July 2011, 23:03:37 by eyesnine »