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

0 Members and 1 Guest are viewing this topic.

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline alaricljs

  • I be WOT'ing all day...
  • ** Moderator Emeritus
  • Posts: 3715
  • 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

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline Soarer

  • * Elevated Elder
  • Posts: 1918
  • 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

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline hasu

  • Posts: 3471
  • 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?

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline Soarer

  • * Elevated Elder
  • Posts: 1918
  • 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: 4022
  • 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

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline theferenc

  • Posts: 1327
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

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline eyesnine

  • Posts: 99
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

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline eyesnine

  • Posts: 99
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

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline Soarer

  • * Elevated Elder
  • Posts: 1918
  • 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: 1327
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: 2248
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 & Advantage2 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 Advantage2, Data911 TG3, Fingerworks Touchstream LP, IBM SSK (Buckling spring), Goldtouch GTU-0077 keyboard

Offline Soarer

  • * Elevated Elder
  • Posts: 1918
  • 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: 63
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: 99
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: 2248
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 & Advantage2 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 Advantage2, Data911 TG3, Fingerworks Touchstream LP, IBM SSK (Buckling spring), Goldtouch GTU-0077 keyboard

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline eyesnine

  • Posts: 99
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

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • 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 cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline eyesnine

  • Posts: 99
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: 99
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 »

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #30 on: Sun, 10 July 2011, 23:19:08 »
Hmmm, thank you for your info. I'm still upbeat, but will need to look much closer look and consult with you guys about Hasu/HumbleHacker/and a couple other Geekhack sources regarding the code, etc. to see if we can meet our wants and needs.
Kinesis Advantage cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline bluecar5556

  • Posts: 126
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #31 on: Mon, 11 July 2011, 07:37:29 »
Bought a Teensy++ 2.0 a week ago and glad I did, an audrino communicates via serial which is slower and thus, does not support USB natively.  Non-USB native=no HID support (no drivers is a requirement.)  If anyone wants me to test their code, I would be more than happy to, shoot me a PM.

Offline eyesnine

  • Posts: 99
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #32 on: Mon, 11 July 2011, 17:20:20 »
I'm going to go ahead and order a Teensy.

I think I should be able to get a simple Colemak-QWERTY converter running without too much time spent by using pre existing code.

What's the opinion on Teensy vs Teensy++ for this project? I'd rather order the one that everyone's going to be using.

Offline alaricljs

  • I be WOT'ing all day...
  • ** Moderator Emeritus
  • Posts: 3715
  • Location: NE US
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #33 on: Mon, 11 July 2011, 18:43:01 »
If you're using pre-existing code then it should already be written in such a way that teensy vs teensy++ doesn't matter.  Make all the  pin assignments #define's and you're all set there.  The 2 devices are otherwise so similar it doesn't matter.  teensy++ has more pins/flash/ram.
Filco w/ Imsto thick PBT
Ducky 1087XM PCB+Plate, w/ Matias "Quiet Click" spring-swapped w/ XM Greens

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #34 on: Mon, 11 July 2011, 19:03:19 »
Neat!

Can you link any Geekhack info into this thread? I'd like to go ahead and make a wiki article, but I didn't want to do it until one or two people moved forward. Then this thread can be put into the discussion tab. My goal is to make a reference wiki (so detailed even I could make one of these) lol. It could be linked with the Colemak website, since there would be a fair amount of interest for them.

WHAT SHOULD TITLE BE FOR WIKI ARTICLE IN THE MODIFICATIONS SUBFORUM?
« Last Edit: Mon, 11 July 2011, 20:08:24 by input nirvana »
Kinesis Advantage cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline bluecar5556

  • Posts: 126
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #35 on: Tue, 12 July 2011, 07:34:02 »
What do you think about "Teensy USB to USB layout converter dongle?" I said it, DONGLE.  If anyone purchases a teensy, the breadboard is $7 from PRJC.com if you don't already have one.  The ++ version is only a few bucks more, more memory and input/output pins so why not?  The Sony PS3 was rooted (full access) using a teensy, taking into consideration a typical USB drive will not work so my assumption is the sky is the limit?

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #36 on: Tue, 12 July 2011, 11:28:41 »
THIS is an excellent conversation piece....

[ Attachment Invalid Or Does Not Exist ] 20520[/ATTACH]
Kinesis Advantage cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline theferenc

  • Posts: 1327
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #37 on: Tue, 12 July 2011, 11:41:19 »
I would discuss that.
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

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #38 on: Tue, 12 July 2011, 11:49:47 »
Discuss.
Kinesis Advantage cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #39 on: Tue, 12 July 2011, 12:23:29 »
If you want a USB-USB converter you must host USB keyboard and I doubt a Teensy can do that.
Limited "software" USB host may be possible on Teensy. If possible it must be the harder way.
I think you need to find a chip/board with "hardware" USB host function.

To get a PS/2-USB converter, Teensy is enough, of course.

Offline eyesnine

  • Posts: 99
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #40 on: Tue, 12 July 2011, 12:46:10 »
Hey hasu, I took a quick look at the work you did with your PS/2 to USB converter. It looks really nice! Your designs should be the foundation of this project. I have ordered a Teensy++, and it's in the mail. When it gets here I'm going to try and get your firmware onto it.

I'd like to make some better documentation for your project. A step by step quick start guide would be very useful. And, an official release zip file with all the necessary files would be useful. Also, I think that the code could be better documented, so, after the quick start guide I was thinking I might start picking through your code and providing enhanced documentation, to make it more accessible, as well as a good way to familiarize myself with what you've already done.

What do you think about making your project more public and bringing more people on board? There's probably a ton of people that could get really good use from this device on this forum, as well as the Colemak, Dvorak forums. I think it needs to be renamed so that people know what it's capable of. I was thinking of something like "Skeleton Key - Makes your keyboard programmable" or something to that effect. I like the "Skeleton Key" name for this project.
« Last Edit: Tue, 12 July 2011, 13:06:46 by eyesnine »

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #41 on: Tue, 12 July 2011, 13:02:48 »
IMav can move this thread into a wiki page setup. I would like to do that in the next couple days. An appropriate title is important so it can be found on by noobs and enthusiasts alike from internet searches and from other forums.  (good example of a horrible title: my Kinesis Contour mod is titled "Trackpoint Questions").

Keep in mind, I believe this might be a foundation for 2 or 3 directions. Fleshing this out now is the most important task at hand.
Kinesis Advantage cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline theferenc

  • Posts: 1327
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #42 on: Tue, 12 July 2011, 13:44:04 »
And don't forget, it's really easy to extend Hasu's work to other layouts. I replaced QWERTY with UNIX. I didn't bother with the other layouts, removing them from my code base, simply because I had no intention of using them. I also have a 122 key UNIX layout hex file that I use.

It's actually really easy. I'd be happy to clean up and document my changes, if people are interested. It would be a while before I could do, though.

One thing I did want to do is make it so I can swap between 122 key and 101 key, but the layout differences stumped me. So for now, I just reflash if I want to swap between them. Not ideal, but it works well enough for me, since I rarely swap.
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 hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #43 on: Tue, 12 July 2011, 14:28:51 »
eyesnine,
Thanks for your suggestions!
Better documentation and code review by others are what I have wanted.
Collaboration with others will be good experience for me and my project, though I'm not sure a way of collaboration now.


theferenc,
It is a pleasure to hear someone using my code happily!

Offline eyesnine

  • Posts: 99
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #44 on: Tue, 12 July 2011, 22:31:39 »
I just tested my KBC Poker with a USB to PS/2 passive adapter, and it works perfectly. So, Hasu's PS/2 to USB converter/remapper/programmer should work well with a Poker, provided an adapter is used.

Hasu, it's great to hear that you're interested and checking this thread. As more people get involved we'll be able to figure out better ways to collaborate.

I think that this project could be very successful. It is something that is of great use to people that write code for a living, so it should attract some really solid contributors if we can get the ball rolling and spread the word a little more.
« Last Edit: Tue, 12 July 2011, 22:34:05 by eyesnine »

Offline Input Nirvana

  • Master of the Calculated Risk
  • Thread Starter
  • Posts: 2316
  • Location: Somewhere in the San Francisco Bay area/Best Coast
  • If I tell ya, I'll hafta kill ya
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #45 on: Tue, 12 July 2011, 23:52:05 »
At someones suggestion, I posted this on the Colemak forum (a little cheesy):

http://forum.colemak.com/viewtopic.php?id=1171
Kinesis Advantage cut into 2 halves | RollerMouse Free 2 | Apple Magic Trackpad | Colemak
Evil Screaming Flying Door Monkeys From Hell                     Proudly GeekWhacking since 2009
Things change, things stay the same                                        Thanks much, Smallfry  
I AM THE REAPER . . . BECAUSE I KILL IT
~retired from forum activities 2015~

Offline Titmouse

  • Posts: 63
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #46 on: Wed, 13 July 2011, 07:23:17 »
Does anyone know where I can get a USB type A receptacle breakout board? Using that, we don't have to use the passive USB to PS/2 adapter. The result will still be a PS/2 to USB adapter, but should look much cleaner.
"Surprise! We threw away your old ugly keyboard and got you a brand new ergonomic keyboard from Microsoft!"  -- Findecanor

Offline alaricljs

  • I be WOT'ing all day...
  • ** Moderator Emeritus
  • Posts: 3715
  • Location: NE US
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #47 on: Wed, 13 July 2011, 08:01:00 »
The ones I have found are huge and expensive - $12.  Maybe just hack something small together in Kicad and use seeedstudio fusion for a cheap solution.
Filco w/ Imsto thick PBT
Ducky 1087XM PCB+Plate, w/ Matias "Quiet Click" spring-swapped w/ XM Greens

Offline Titmouse

  • Posts: 63
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #48 on: Wed, 13 July 2011, 08:46:19 »
Are you talking about this one? That's about the only one I found. I know not much about PCB layouts. Maybe I'll see if there are USB breakout layout floating on the web. Thanks.
"Surprise! We threw away your old ugly keyboard and got you a brand new ergonomic keyboard from Microsoft!"  -- Findecanor

Offline alaricljs

  • I be WOT'ing all day...
  • ** Moderator Emeritus
  • Posts: 3715
  • Location: NE US
QWERTY to Colemak via hardware. USB key or built in hardware/firmware?
« Reply #49 on: Wed, 13 July 2011, 09:44:06 »
Yeah, that one.
Filco w/ Imsto thick PBT
Ducky 1087XM PCB+Plate, w/ Matias "Quiet Click" spring-swapped w/ XM Greens