Author Topic: ErgoDox - Custom split ergo keyboard.  (Read 1246378 times)

0 Members and 3 Guests are viewing this topic.

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
[Interest Check] Custom split ergo keyboard.
« Reply #650 on: Mon, 28 May 2012, 12:19:33 »
Quote from: REVENGE;601092
◕ ‿ ◕
DAT FACE!

how much are the pcbs at medium quantity? i'd be interested in assembling a few pcbs for people over the next couple of months while case designs are finalized. imo i think it's a good idea to have some pcbs percolating and being beta tested for code development and as an opportunity to make changes to the pcb before a large quantity run

btw, raw or plated pcbs can be just placed on top of soft surfaces to be used/tested, or placed into prototyped cases of various materials ;)

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline mSSM

  • Posts: 50
[Interest Check] Custom split ergo keyboard.
« Reply #651 on: Mon, 28 May 2012, 13:30:41 »
I am interested in one of these as well! Please with less Tab Keys though! :D

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
[Interest Check] Custom split ergo keyboard.
« Reply #652 on: Mon, 28 May 2012, 13:48:15 »
Quote from: ripster;601828
http://geekhack.org/showthread.php?22780-Interest-Check-Custom-split-ergo-keyboard&p=428524&viewfull=1#post428524


I HATE being misquoted by a moderator!

Dork, please fix.

http://deskthority.net/workshop-f7/split-ergonomic-keyboard-project-t1753.html?hilit=Dox

If you read through the first post, I lightheartedly misquoted (almost) everyone. Also, I wasn't a mod, when I "quoted" you. You have to be precise about this sort of thing.

It's not a big deal for me to remove you from the list completely, or change your statement of interest. Just PM me or post here.

Quote from: didjamatic;601971
Depending on final product I will take 1-3 of them.  Can't commit 100% until I know the final product and price.  Looks like a great keyboard.

Quote from: merijn;601995
If I can afford it as a student, I will buy one. It looks awesome, and I'd love to have one. Keep up the good work!

Quote from: mSSM;602036
I am interested in one of these as well! Please with less Tab Keys though! :D

I'll add you all to the list presently. When I saw the tab keys I thought: How many cherry keyboards does DOX have?

Edit: Keep in mind that a keyset is not planned (yet) so it's up to you DIYers to come up with keycaps. Nevertheless, I believe WASDkeyboards may be a good source if a GB ever occurs. I'd get a blank keyset for obvious reasons :p

Offline Dox

  • Thread Starter
  • Posts: 312
[Interest Check] Custom split ergo keyboard.
« Reply #653 on: Mon, 28 May 2012, 18:12:03 »
Quote from: OrangeJewce;601903
This really does feel like it's on the cusp! However we haven't seen anything on the case yet, so I would expect at least another month before final touches are made. Excellent, excellent work Dox!

Cheers,
I'm working on the case right now. I will order a prototype from shapeways soon (1-2 week).

Quote from: mkawa;601999
DAT FACE!

how much are the pcbs at medium quantity? i'd be interested in assembling a few pcbs for people over the next couple of months while case designs are finalized. imo i think it's a good idea to have some pcbs percolating and being beta tested for code development and as an opportunity to make changes to the pcb before a large quantity run

btw, raw or plated pcbs can be just placed on top of soft surfaces to be used/tested, or placed into prototyped cases of various materials ;)

For 10 PCB it's about 45$ each (90 for both).

I placed some sticky insulation material in the corners to give a slope to the PCB.  I really like this placement so far for my"ghost" typing. Similar to the ms ergo 4000.
[ Attachment Invalid Or Does Not Exist ] 51680[/ATTACH] [ Attachment Invalid Or Does Not Exist ] 51681[/ATTACH] [ Attachment Invalid Or Does Not Exist ] 51682[/ATTACH]


Quote from: dorkvader;602046
I'll add you all to the list presently. When I saw the tab keys I thought: How many cherry keyboards does DOX have?

Edit: Keep in mind that a keyset is not planned (yet) so it's up to you DIYers to come up with keycaps. Nevertheless, I believe WASDkeyboards may be a good source if a GB ever occurs. I'd get a blank keyset for obvious reasons :p
Haha I don't even have 1 functional cherry keyboard except my DoxKBs. The tab keys are from the SP grab bag. I'm trying to figure what are the best profile for the vertical 1.5 keys. I think the tab is working quite well.
ErgoDox x2 | DoxKB x2 |   IBM SSK   | HHKB pro2

Offline Dox

  • Thread Starter
  • Posts: 312
[Interest Check] Custom split ergo keyboard.
« Reply #654 on: Mon, 28 May 2012, 18:33:01 »
I think that the thumb keys are a bit too far out. The 3 furthest keys are hard to reach and my thumb is a bit too stretched in the standard (thumb on space) position.
I will put them closer for the case prototype. I will cut the thumb from the PCB and hand wire it to test it.
ErgoDox x2 | DoxKB x2 |   IBM SSK   | HHKB pro2

Offline dirge

  • Posts: 475
  • Location: Newcastle Upon Tyne
[Interest Check] Custom split ergo keyboard.
« Reply #655 on: Tue, 29 May 2012, 02:53:30 »
Guess you never really know until you use it, love the work!  But needs more Dvorak ;)
Thinking about things isn't the same as doing things. Otherwise everybody would be in jail.

Offline OrangeJewce

  • ssk.ℜ
  • Posts: 495
  • Location: Minnesota
  • King of the Jewce
[Interest Check] Custom split ergo keyboard.
« Reply #656 on: Tue, 29 May 2012, 11:27:32 »
As an aside, I noticed the name on the PCBs was DoxErgo. I was kind of hoping it would be named the Dox64. I just love the sound of the latter, and since the design is based off of the Key64, I thought it was fitting. Regardless this looks great. I keep counting something like 38 keys a half, making a total of 76 keys. We might have to get a GB going just for a set of caps for this guy since it's so unique.

Cheers,

P.S. If we can get the board for something like $250, I'd double my order.
IBM Model M 1390120, Otaku Unicomp+RGB, CM QFR Green, Ducky YOTD Red, SSK MKII,
ErgoDox Blue, ErgoDox White

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
[Interest Check] Custom split ergo keyboard.
« Reply #657 on: Tue, 29 May 2012, 15:55:29 »
Do you mean $250 for PCB/controller/case or $250 for the PCB or what?

Reason I ask is that some people are wanting to go "up to" a certain amount for a complete keyboard, and some are budgeting for other parts (because they have switches like me, or keycaps already, etc.)

I'll update the list when I get home.
---
As far as the Name: I though ErgoDOX was the accepted name for it (Sordna's work, if I recall correctly) That said. I think Dox76 would be good as well. I think it's really up to DOX, as he's really the project head here :p

Also: DOX: are we going for shapeways/plastic case n the final product, or just the prototype? I think we might be able to get just as good or a better price elsewhere for your metal plate case idea.
« Last Edit: Wed, 30 May 2012, 09:52:51 by dorkvader »

Offline sordna

  • Posts: 2248
[Interest Check] Custom split ergo keyboard.
« Reply #658 on: Tue, 29 May 2012, 19:24:21 »
ErgoDox, not ErgeDox.

BTW to keep the cost down for those that cannot afford the full monty, I would like to suggest that folks should be able to order this without case or plate. PCB mounted switches guarantee they will be solid, even without a plate, and as has been said, DIY cardboard case (or no case at all0 works for some folks.
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 OrangeJewce

  • ssk.ℜ
  • Posts: 495
  • Location: Minnesota
  • King of the Jewce
[Interest Check] Custom split ergo keyboard.
« Reply #659 on: Tue, 29 May 2012, 19:56:23 »
Dorkvader: YGPM
As for the name: My bad, it does say ErgoDox. I don't mean to start a competition, and I hadn't re-read all 40+ pages of the thread to see if anyone had come up with a name previously, for forgive me if I had stepped on anyone's toes. Again I leave total veto power up to Dox, I only meant to prompt discussion (even if moot). I think we should wait and see what the costs are actually going to be. If it's going to be $300 without switches or caps then I suppose I'd agree with sordna. If we can keep it near or under $300 all included it might be better to just sell kits. I suspect that caps won't be expensive since most likely they would need to be blank.

Cheers,
IBM Model M 1390120, Otaku Unicomp+RGB, CM QFR Green, Ducky YOTD Red, SSK MKII,
ErgoDox Blue, ErgoDox White

Offline jblack801

  • Posts: 70
[Interest Check] Custom split ergo keyboard.
« Reply #660 on: Wed, 30 May 2012, 12:44:14 »
man, seeing this project get moving... I think I'll have to revise my initial limit (not by much)

Dorkvader, can you put me at a definitely if at $250?

Offline ic07

  • Posts: 190
[Interest Check] Custom split ergo keyboard.
« Reply #661 on: Fri, 01 June 2012, 03:44:31 »
Dox:
Sorry it's taken so long...  I think I got it though :) .  Let me know if there's anything I missed.  Here's the updated hex file (most recent post on the github downloads page), compiled from the current github 'master' branch.  If you end up compiling yourself, please keep in mind that I changed the makefile a LOT since I last merged the branches - and I tried to keep it WinAVR compatible, but I may have missed something there too.  Hope not though.

Thanks a lot for posting the matrix update BTW.  I had just finished trying to follow the traces on the PCB when I saw it, but I completely missed the changes to the thumb groups.  And making a macro out of what you posted ended up being a better solution than my first idea anyway.

Hope that's it...  It's late and I'm really tired.  Let me know how it works!

Offline Dox

  • Thread Starter
  • Posts: 312
[Interest Check] Custom split ergo keyboard.
« Reply #662 on: Fri, 01 June 2012, 09:05:15 »
Thanks a lot ic07!! I will try it when I get home tonight and I will report back!
ErgoDox x2 | DoxKB x2 |   IBM SSK   | HHKB pro2

Offline OrangeJewce

  • ssk.ℜ
  • Posts: 495
  • Location: Minnesota
  • King of the Jewce
[Interest Check] Custom split ergo keyboard.
« Reply #663 on: Fri, 01 June 2012, 10:01:37 »
One thing I've been thinking about, and it seems to be uniform across all of the other KB GB's that I've seen (specifically I'm thinking of the phantom since that's the last one in a while.), is that they allow ordering of switches along with the kit, as well as assembly (if one desires), and that way consolidate all of the ordering. I only mention this because it seems like it will be a huge headache for those of us wanting assembly to have to order switches separately and then ship it all to the assembler.

Maybe I'm alone with that sentiment, and definitely putting cart before horse (since the prototyping isn't complete), but for whomever coordinates the inevitable GB it's food for thought.

Cheers,

P.S.
ic07 you're the man. I have my fingers crossed that everything works great and that in the next couple of months (after the case prototype arrives) we can finally put up an order thread!
IBM Model M 1390120, Otaku Unicomp+RGB, CM QFR Green, Ducky YOTD Red, SSK MKII,
ErgoDox Blue, ErgoDox White

Offline REVENGE

  • Posts: 568
[Interest Check] Custom split ergo keyboard.
« Reply #664 on: Fri, 01 June 2012, 11:59:38 »
Hey sordna, any possibility for a big MX switch + diode group buy from Kinesis?
◕ ‿ ◕

Offline sordna

  • Posts: 2248
[Interest Check] Custom split ergo keyboard.
« Reply #665 on: Fri, 01 June 2012, 13:09:33 »
As far as I know they don't sell diodes separately, they only have the MX switches that have built-in diodes, and only browns and reds.
Why don't you PM natas206 and invite him to this thread, as he works at Kinesis.
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 ped

  • Posts: 65
[Interest Check] Custom split ergo keyboard.
« Reply #666 on: Fri, 01 June 2012, 13:47:26 »
Would be interesting to get a hold of some PCB mounted MX switch bottom housing with integrated diode. That's all I really want/need since I've got plenty of switches on the way already. If a group buy would make them cheaper than buying small amounts as an individual direct from Kinesis, awesomesauce! Maybe we can get these from one of those electrical component websites too...

Offline OrangeJewce

  • ssk.ℜ
  • Posts: 495
  • Location: Minnesota
  • King of the Jewce
[Interest Check] Custom split ergo keyboard.
« Reply #667 on: Fri, 01 June 2012, 14:19:55 »
If we end up including LED based switches, we might want to look into organizing a GB for caps that will make use of them... unless WASD sells appropriate caps. How do the bigger switches look on the Kinesis with the LEDs on?

Cheers,
IBM Model M 1390120, Otaku Unicomp+RGB, CM QFR Green, Ducky YOTD Red, SSK MKII,
ErgoDox Blue, ErgoDox White

Offline sordna

  • Posts: 2248
[Interest Check] Custom split ergo keyboard.
« Reply #668 on: Fri, 01 June 2012, 16:25:43 »
Quote from: ped;605759
Would be interesting to get a hold of some PCB mounted MX switch bottom housing with integrated diode. That's all I really want/need since I've got plenty of switches on the way already.

If that's the case, what you want to do is simply get the diodes (1N4148). Most Cherry MX switches have a common housing; even if you're getting them without integrated diodes, the bottom housing has the holes/marking for the diodes. You would need to open up the switches, bend the diode legs, insert the diode, close the switches.
Unlike half cherry MX switch housings, diodes are actually obtainable, and very easily so:
http://www.amazon.com/gp/product/B0002KRC7C
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 Dox

  • Thread Starter
  • Posts: 312
[Interest Check] Custom split ergo keyboard.
« Reply #669 on: Fri, 01 June 2012, 16:42:04 »
The left hand is working perfectly! The right hand have some problems.
"Space" = "space" + "page down"
 "enter" = "enter" + "space"
"page up" = "page up" + "enter"
"left" + "down" + "up" = "left" + "down" + "up" + "right"
and a few others.

I checked my PCB for shorts but I can't find one yet. I'll keep on searching.
ErgoDox x2 | DoxKB x2 |   IBM SSK   | HHKB pro2

Offline Dox

  • Thread Starter
  • Posts: 312
[Interest Check] Custom split ergo keyboard.
« Reply #670 on: Fri, 01 June 2012, 18:58:43 »
I have double checked everything and nothing is grounded. The ghost keys change state when I place my hand under the pcb.
ErgoDox x2 | DoxKB x2 |   IBM SSK   | HHKB pro2

Offline ic07

  • Posts: 190
[Interest Check] Custom split ergo keyboard.
« Reply #671 on: Fri, 01 June 2012, 23:28:32 »
Hmm :/ .  I tested 'space', 'enter', and 'page up' just now on my breadboard setup, using a wire to short the row and column pins, and using both xev (a linux program for printing X events) and one of those pages for testing keyboard rollover to see which keys registered, and they all worked properly.  Dunno what would be pulling the effected row pins (F0 and F1) low like that...

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
[Interest Check] Custom split ergo keyboard.
« Reply #672 on: Sat, 02 June 2012, 00:29:11 »
What kind is the chip on the left part? Those unconnected pins? What functions do they have. I've had all sorts of strange behavior with floating pins on ICs (the different result depending on which surface the setup has been sitting on in particular). At least on some sort of logics you really have to pull all pins either low or high for them to act right.

Edit: I saw now that it is the right hand that is the problem. So my idea might not be worth much...
« Last Edit: Sat, 02 June 2012, 00:50:25 by PrinsValium »

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
[Interest Check] Custom split ergo keyboard.
« Reply #673 on: Sat, 02 June 2012, 00:48:16 »
Quote from: alaricljs;599812
You have to jump through hoops to not get plated holes when you use kicad.

Actually, either they fixed this on one of the later versions, or I wrongly stated this earlier. There is a "NTPH,Mechanical"-setting for "pads" in my current version that does just this.

Here is a guide on how to build the latest KiCAD on Ubuntu, probably works on other Linux version as well.

Offline ic07

  • Posts: 190
[Interest Check] Custom split ergo keyboard.
« Reply #674 on: Sat, 02 June 2012, 01:42:25 »
Quote from: PrinsValium;606055
I've had all sorts of strange behavior with floating pins on ICs

Mmm *nods*, I read about that while I was learning stuff for this project.  Unless I mixed something up, internal pull-up is set on all unused pins.  Except D6 on the teensy side, since that's pulled low (IIRC) through an LED.  And the interrupt pins are floating I think on the left side (and there are some NC pins on that side as well..).  I can't think of any other exceptions off the top of my head.

We're using an MCP23018, and the Teensy 2.0 which has an ATMega23u4.

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
[Interest Check] Custom split ergo keyboard.
« Reply #675 on: Sat, 02 June 2012, 01:56:56 »
The Teensy I am familiar with =) and I never had any of those problems using it. I would guess the IO-pins are pulled either way regardless if they are set as outputs or inputs (with pull-up), but it sure shouldn't hurt to turn on the pull-ups. Actually I think most of my problems have been with leaving RESET- or CLOCK-pins floating when playing/learning logic ICs on a breadboard. When they start to flutter, very strange things tend to happen...

Offline bebuxe

  • Posts: 146
[Interest Check] Custom split ergo keyboard.
« Reply #676 on: Sat, 02 June 2012, 05:03:12 »
This type of design on a keyboard is has always been what I wanted. Esp. when reclined Vertically. I wonder if we can add that, or just let the users do this. Also, would it not be easier to do the case in a type of hard acrylic (PMMA) by submersion into casts that are vertically assigned in some sort of silicon or rubber?

I'll draw the idea in a few days, but basically it is a mold of the cases vertically aligned in a rubber/silica/foam cube with slits of these molds. Kinda like how cd cases are made. If you get it then I won't draw.

Also, the think I like about the size if the fact that we can abuse the Keyboard space to install an MCC or SD port to make it even boot. hehehe, we can even bootstrap a gumstix board to boot Linux with video, sound, wifi, and everything (http://gumstix.org/software-development/pre-built-images.html). God, How I love this era.

For now, lets concentrate on making this truly programmable KB. I wonder if we should do it from the keyboard, or flash the memory from an the computer? Still using the USB as power to flash the memory.

Tell me your Ideas, I know C, I can help in logic, but I do not know the advance stuff like Hex algorithms on the processor. I'd hate to use some proprietary with little documentation. I think I read this was going to be teensy, am I right? And really, I think we should not care about the BIOS compatibility. Everyone by now should have bought flashed ROMs with Phoenix Award BIOS or better yet coreboot. If you are a buyer, and say Nay, please do so.

Also, what encoding wille we use, UTF-8 or one of the latins?:
http://en.wikipedia.org/wiki/Western_Latin_character_sets_(computing)
I ask to see what I can do for output. I guess I need to read USB in a nutshell.

Also I work full time, so my contributions will be limited. I can offer a wiki if you like. Need to experiment with yawk.

PS
   Behold this beauty:
   http://en.wikipedia.org/wiki/File:Lexus_LF-A_Crystallised_Wind.jpg
   And is functionality:
   http://en.wikipedia.org/wiki/File:Maylan-interior-design-neue-wiener-werkstaette-interlux-roehm-_evonik-_indeustries-contemporary-light-art-sedan-chair-seats-manfred-kielnhofer-illumination-auchtion.jpg
   SUSE Linux or The Attachmate Group was not part of this:
   http://en.wikipedia.org/wiki/File:Ted_Noten_Grandma's_Bag_Revisited_2009.jpg
« Last Edit: Sat, 02 June 2012, 06:21:19 by bebuxe »

Offline REVENGE

  • Posts: 568
[Interest Check] Custom split ergo keyboard.
« Reply #677 on: Sat, 02 June 2012, 14:51:52 »
Quote from: bebuxe;606110
This type of design on a keyboard is has always been what I wanted. Esp. when reclined Vertically. I wonder if we can add that, or just let the users do this. Also, would it not be easier to do the case in a type of hard acrylic (PMMA) by submersion into casts that are vertically assigned in some sort of silicon or rubber?

I'll draw the idea in a few days, but basically it is a mold of the cases vertically aligned in a rubber/silica/foam cube with slits of these molds. Kinda like how cd cases are made. If you get it then I won't draw.

Also, the think I like about the size if the fact that we can abuse the Keyboard space to install an MCC or SD port to make it even boot. hehehe, we can even bootstrap a gumstix board to boot Linux with video, sound, wifi, and everything (http://gumstix.org/software-development/pre-built-images.html). God, How I love this era.

For now, lets concentrate on making this truly programmable KB. I wonder if we should do it from the keyboard, or flash the memory from an the computer? Still using the USB as power to flash the memory.

Tell me your Ideas, I know C, I can help in logic, but I do not know the advance stuff like Hex algorithms on the processor. I'd hate to use some proprietary with little documentation. I think I read this was going to be teensy, am I right? And really, I think we should not care about the BIOS compatibility. Everyone by now should have bought flashed ROMs with Phoenix Award BIOS or better yet coreboot. If you are a buyer, and say Nay, please do so.

Also, what encoding wille we use, UTF-8 or one of the latins?:
http://en.wikipedia.org/wiki/Western_Latin_character_sets_(computing)
I ask to see what I can do for output. I guess I need to read USB in a nutshell.

Also I work full time, so my contributions will be limited. I can offer a wiki if you like. Need to experiment with yawk.

PS
   Behold this beauty:
   http://en.wikipedia.org/wiki/File:Lexus_LF-A_Crystallised_Wind.jpg
   And is functionality:
   http://en.wikipedia.org/wiki/File:Maylan-interior-design-neue-wiener-werkstaette-interlux-roehm-_evonik-_indeustries-contemporary-light-art-sedan-chair-seats-manfred-kielnhofer-illumination-auchtion.jpg
   SUSE Linux or The Attachmate Group was not part of this:
   http://en.wikipedia.org/wiki/File:Ted_Noten_Grandma's_Bag_Revisited_2009.jpg
I think the sky and your wallet are the limits when it comes to case design and optional features.
◕ ‿ ◕

Offline Dox

  • Thread Starter
  • Posts: 312
[Interest Check] Custom split ergo keyboard.
« Reply #678 on: Sat, 02 June 2012, 16:07:23 »
I did some testing with the an adapted firmware from PrinsValium that I used for my doxkb at first and every key is registering correctly (no ghost keys).
You can download it here if you want to take a look.
ErgoDox x2 | DoxKB x2 |   IBM SSK   | HHKB pro2

Offline bebuxe

  • Posts: 146
[Interest Check] Custom split ergo keyboard.
« Reply #679 on: Sat, 02 June 2012, 16:21:20 »
>REVENGE
Well, it is a dream keyboard. One that I wanted to make, but nevertheless, do you not think it much cheaper to use PMMA for making the cases?
I got a -1 of vertical alignment.
How it be programmed, OS level, or Hardware/KB Level?
So it is the teensy, right? .
If so, what encoding do you all vote? UTF 8‽ (I ask, cause there is a lot of symbols not needed in utf8⁂ lots)※

※If you can't read these, it means you are not using UTF8, and probably do not need them.

Offline FedeQGMLY

  • Posts: 1
[Interest Check] Custom split ergo keyboard.
« Reply #680 on: Sat, 02 June 2012, 17:54:19 »
Hi guys, I'm new of GH, I found this thread looking for keyboards...and I think this project is awesome!
I wasn't able to read 43 of the 46 pages of this thread (sorry), so I'm bluntly asking: do you have an idea about when you'll be able to actually sell/ship this fantastic keyboard? And for which price approximately?

As someone previously pointed out, I also think keycaps are not mandatory...I mean, buying keycaps is not a problem as long as the keys are Cherry MX, am I wrong?

Thank you for your work.
Fede

Offline alaricljs

  • I be WOT'ing all day...
  • ** Moderator Emeritus
  • Posts: 3715
  • Location: NE US
[Interest Check] Custom split ergo keyboard.
« Reply #681 on: Sat, 02 June 2012, 19:11:40 »
Quote from: bebuxe;606333
If so, what encoding do you all vote? UTF 8‽ (I ask, cause there is a lot of symbols not needed in utf8⁂ lots)※

※If you can't read these, it means you are not using UTF8, and probably do not need them.

You keep asking about this encoding and I don't understand why.  Keyboards put out scancodes, they do not put out character set codes.  It is up to the OS to interpret the scancode and put the correct character on the screen (or alternately interpret it as the correct meta key).
Filco w/ Imsto thick PBT
Ducky 1087XM PCB+Plate, w/ Matias "Quiet Click" spring-swapped w/ XM Greens

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
[Interest Check] Custom split ergo keyboard.
« Reply #682 on: Sat, 02 June 2012, 20:13:15 »
Quote from: FedeQGMLY;606362
Hi guys, I'm new of GH, I found this thread looking for keyboards...and I think this project is awesome!
I wasn't able to read 43 of the 46 pages of this thread (sorry), so I'm bluntly asking: do you have an idea about when you'll be able to actually sell/ship this fantastic keyboard? And for which price approximately?

As someone previously pointed out, I also think keycaps are not mandatory...I mean, buying keycaps is not a problem as long as the keys are Cherry MX, am I wrong?

Thank you for your work.
Fede
Hello and welcome to GH! I'll add you to the list. There's been a lot of pricing discussion, but nothing is set in stone yet. It all depends on what sort of volume pricing we can get. This is just a guess, but we should be able to get the PCB under $100, and the case maybe under $200. I haven't asked around for quotes yet, though.

As far as keyswitches and keycaps, some keyswitches are available at mouser.com, and there have been a number of group buys for them recently. Keycaps shouldn't be a huge issue, but you do have to realize that there are a large number of 1.5-width keys for the last row. You can see them as all the tabs and CTRL dox has in his picture, here:
http://geekhack.org/attachment.php?attachmentid=51456&d=1338008738
That's twelve 1.5 keys total, if I am seeing it right.

Offline hasu

  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
[Interest Check] Custom split ergo keyboard.
« Reply #683 on: Sat, 02 June 2012, 20:16:48 »
Dox and ic07, Great progress so far! and very inspired.

About ghost key problem I have some words to say.

If you use port F you might want to check JTAGEN fuse bit and JTD bit of MCUCR. This JTAG configuration can prevent from operation of port F. Default fuse bit setting of Teensy makes JTAGEN fuse unprogrammed, so you won't have this program, though, I think you still should check this to make sure. See datasheet for detail.
I'd like to recommend you try this code in init function:
Code: [Select]
   // JTAG disable for PORT F. write JTD bit twice within four cycles.
    MCUCR |= (1<<JTD);
    MCUCR |= (1<<JTD);

And another one, you may want to add small delay between port setting and reading port while matrix scanning. I think you can have delay in _update_rows() in teensy-2-0.c. _delay_us(1 or 5) will be enough for this.
If you don't have this delay you might have a false reading of port.
Though I'm not sure theory behind this :)

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
[Interest Check] Custom split ergo keyboard.
« Reply #684 on: Sat, 02 June 2012, 20:30:08 »
Yes, my code contains those _delay_ms(1) after all changes to ports. I found erratic behavior without them. 1 us has been enough for me so far.

Offline bebuxe

  • Posts: 146
[Interest Check] Custom split ergo keyboard.
« Reply #685 on: Sun, 03 June 2012, 05:20:10 »
>alaricljs
Yes, but most of the scancodes are standardized HEX Interruption values that the OS decide in your favorite encoding. Most of the scan codes conform with the ISO/IEC 9995 standard. That Is why ask if you like to have another to minimize/optimize in the software overhead that UTF8 is.

Offline REVENGE

  • Posts: 568
[Interest Check] Custom split ergo keyboard.
« Reply #686 on: Sun, 03 June 2012, 15:21:33 »
Quote from: bebuxe;606588
>alaricljs
Yes, but most of the scancodes are standardized HEX Interruption values that the OS decide in your favorite encoding. Most of the scan codes conform with the ISO/IEC 9995 standard. That Is why ask if you like to have another to minimize/optimize in the software overhead that UTF8 is.
Still unsure of what you're talking about. The scancode for each key is completely customizable at the hardware level by you, the end user.
◕ ‿ ◕

Offline Dox

  • Thread Starter
  • Posts: 312
[Interest Check] Custom split ergo keyboard.
« Reply #687 on: Sun, 03 June 2012, 17:35:41 »
Quote from: hasu;606415
Dox and ic07, Great progress so far! and very inspired.

About ghost key problem I have some words to say.

If you use port F you might want to check JTAGEN fuse bit and JTD bit of MCUCR. This JTAG configuration can prevent from operation of port F. Default fuse bit setting of Teensy makes JTAGEN fuse unprogrammed, so you won't have this program, though, I think you still should check this to make sure. See datasheet for detail.
I'd like to recommend you try this code in init function:
Code: [Select]
   // JTAG disable for PORT F. write JTD bit twice within four cycles.
    MCUCR |= (1<<JTD);
    MCUCR |= (1<<JTD);

And another one, you may want to add small delay between port setting and reading port while matrix scanning. I think you can have delay in _update_rows() in teensy-2-0.c. _delay_us(1 or 5) will be enough for this.
If you don't have this delay you might have a false reading of port.
Though I'm not sure theory behind this :)

Thanks a lot hasu!!! I have added a _delay_us(1) in the _update_rows() and everything register correctly now!

Code: [Select]
static inline void _update_rows(        bool matrix[KB_ROWS][KB_COLUMNS], uint8_t column ) {
    _delay_us(1);
    matrix[0][column] = ! teensypin_read(ROW_0);
    matrix[1][column] = ! teensypin_read(ROW_1);
    matrix[2][column] = ! teensypin_read(ROW_2);
    matrix[3][column] = ! teensypin_read(ROW_3);
    matrix[4][column] = ! teensypin_read(ROW_4);
    matrix[5][column] = ! teensypin_read(ROW_5);
}
ErgoDox x2 | DoxKB x2 |   IBM SSK   | HHKB pro2

Offline Dox

  • Thread Starter
  • Posts: 312
[Interest Check] Custom split ergo keyboard.
« Reply #688 on: Sun, 03 June 2012, 18:37:00 »
ic07, do you have a fn layer ready? I would need it to at least have F keys.

edit: sent from the ergodox!
ErgoDox x2 | DoxKB x2 |   IBM SSK   | HHKB pro2

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
[Interest Check] Custom split ergo keyboard.
« Reply #689 on: Sun, 03 June 2012, 19:41:09 »
IT lives! You should add it to your sig :)

Offline OrangeJewce

  • ssk.ℜ
  • Posts: 495
  • Location: Minnesota
  • King of the Jewce
[Interest Check] Custom split ergo keyboard.
« Reply #690 on: Sun, 03 June 2012, 21:26:34 »
Super exciting! Can't wait for pictures of the case prototype to be shown!

Cheers,
IBM Model M 1390120, Otaku Unicomp+RGB, CM QFR Green, Ducky YOTD Red, SSK MKII,
ErgoDox Blue, ErgoDox White

Offline ic07

  • Posts: 190
[Interest Check] Custom split ergo keyboard.
« Reply #691 on: Mon, 04 June 2012, 03:38:59 »
Thanks from me too hasu!  And PrinsValium.  And thanks DOX for trying it out and getting it working.  Changes now in the repo, and updated .hex on github (and I deleted the bad one).  I put the `_delay_us(1)` at the end of the `teensypin_write()` macro.

  DOX:
  I also made a fn layer for you.  I feel like it's a mess (more than the current top layer), but it has the function keys, along with a few random symbols.  It's activated by holding down the lowermost of the 3 inside keys on either side of the board.  Here's a link to the layout file (it's only on the 'dev' branch for now) for convenience.

  And I'm excited that it's usable and in use now too!

  bebuxe:
  A USB keyboard in boot mode sends scancodes from the HID usage page 0x07 (which I made into a header file, if you'd like to see it), if I'm remembering my terms correctly.  There's also a usage page corresponding to UTF-8, but I'm not sure if it can be used by keyboards.

  Also, remapping at this point is only possible by modifying the firmware, recompiling, and re-flashing.  Good news is, I don't think this will be too hard for anyone here, especially once I get around to writing a short howto.  On keyboard remapping is being considered (but only once everything else is done).  The rest is up to the OS.

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
[Interest Check] Custom split ergo keyboard.
« Reply #692 on: Mon, 04 June 2012, 05:22:45 »
Quote from: ic07;607097
 Also, remapping at this point is only possible by modifying the firmware, recompiling, and re-flashing.  Good news is, I don't think this will be too hard for anyone here, especially once I get around to writing a short howto.  On keyboard remapping is being considered (but only once everything else is done).  The rest is up to the OS.

I wonder how easy it would be to write up a quick frontend for changing layouts? Even if it just gave you a quick graphic of what you have, then output the proper source to flash the chip with, it'd be useful (to visual people like me)

Offline dirge

  • Posts: 475
  • Location: Newcastle Upon Tyne
[Interest Check] Custom split ergo keyboard.
« Reply #693 on: Mon, 04 June 2012, 05:26:08 »
Quote from: dorkvader;607116
I wonder how easy it would be to write up a quick frontend for changing layouts? Even if it just gave you a quick graphic of what you have, then output the proper source to flash the chip with, it'd be useful (to visual people like me)

x2 I'm trying to get my head around the firmware and setup etc.  Finding it very difficult.
Thinking about things isn't the same as doing things. Otherwise everybody would be in jail.

Offline OrangeJewce

  • ssk.ℜ
  • Posts: 495
  • Location: Minnesota
  • King of the Jewce
[Interest Check] Custom split ergo keyboard.
« Reply #694 on: Mon, 04 June 2012, 07:58:13 »
Quote from: dorkvader;607116
I wonder how easy it would be to write up a quick frontend for changing layouts? Even if it just gave you a quick graphic of what you have, then output the proper source to flash the chip with, it'd be useful (to visual people like me)

For the windows people, I have no problem drafting up a quick app that will allow adjustments of layouts. I will probably need some help interfacing it with the back end. If you want a Linux/Unix GUI you might have to find another volunteer.

I'll check out the firmware tonight, and see what I can do.

Cheers,
IBM Model M 1390120, Otaku Unicomp+RGB, CM QFR Green, Ducky YOTD Red, SSK MKII,
ErgoDox Blue, ErgoDox White

Offline OrangeJewce

  • ssk.ℜ
  • Posts: 495
  • Location: Minnesota
  • King of the Jewce
[Interest Check] Custom split ergo keyboard.
« Reply #695 on: Mon, 04 June 2012, 08:04:09 »
Also,

DOX, do you have a larger version of your avatar? I plan on using it for the About menu on the GUI, as well as making a .ico to use for the launcher. (Assuming you guys don't mind me writing up a front-end.)

Cheers,
IBM Model M 1390120, Otaku Unicomp+RGB, CM QFR Green, Ducky YOTD Red, SSK MKII,
ErgoDox Blue, ErgoDox White

Offline effh

  • Posts: 6
[Interest Check] Custom split ergo keyboard.
« Reply #696 on: Mon, 04 June 2012, 10:32:38 »
Hello All,

I've been tracking this thread for a few days now, and this looks very interesting. I'm interested in 1 to 2 PCBs depending on final price. what with the need for key-switches as well, I can't afford to go in for the cases too.

With regards to simple remapping, I've just pulled down the code and winAVR [my duel boot box spends most of it's life in windows, go figure... :  (   ] and it is possible to make gcc spit out a map-file, allowing us to locate the right symbol, and edit the hex file. Using this method it should be possible to distribute an "official" hex firmware and provide a utility that patches in changes to the keymap without requiring non-programmers to brave the world of C (and therefore from having to obtain and maintain tool-chains as well).
I don't do user-interface programming but I can help with sorting out hex-file hacking.

Notes[skip this section if you don't want the details.]: It will be necessary to make sure enough space is allocated for as many layers as is intended to be supported. It may also be necessary to clearly define which other symbols specify layer-shift keys.

To get the symbol map, add the following to LDFLAGS in the makefile: -Xlinker -Map=firmware.map
An example of the relevent section:
Code: [Select]
.progmem.data  0x000000ac      0x348 keyboard/ergodox/layout/qwerty.o
                0x000002a4                _kb_layout_release
                0x00000154                _kb_layout_press
                0x000000ac                _kb_layout
From firmware.hex:
:1000A0002EC200002CC200002AC20000E4E64B2849
we want 00ac, this starts at 00a0, so the relevent chunk of this line is E4 E6 4B 28, the first four keys in the map:
KEY_RightControl; KEY_RightAlt; KEY_PageUp; KEY_ReturnEnter.
matrix.h specifies these as being { k00,k01,k02,k03, which ties up nicely with the right-hand thumb keys in the layer macro above and the matching qwerty keymap.
Note that when replacing this lign in the hex-file, the first part needs to be written back unchanged and the last two chars are a checksum that will need updating for any changes.

Still to determine: Does the teensy loader check any additional checksums? It isn't obvious from the map alone...
« Last Edit: Mon, 04 June 2012, 11:46:27 by effh »

Offline OrangeJewce

  • ssk.ℜ
  • Posts: 495
  • Location: Minnesota
  • King of the Jewce
[Interest Check] Custom split ergo keyboard.
« Reply #697 on: Mon, 04 June 2012, 12:17:28 »
effh,

    Can you give some details as to how you'd go from the modified hex file to re-flashing the firmware for the KB? It wouldn't be hard to have a separate "user" configuration hex file that could replace the default (with a restore option of course), what seems to be hard to do from the UI perspective is forcing the firmware to update. From a windows perspective, I wouldn't look forward to having to invoke a compile on the user's machines. Thoughts?

Cheers,
IBM Model M 1390120, Otaku Unicomp+RGB, CM QFR Green, Ducky YOTD Red, SSK MKII,
ErgoDox Blue, ErgoDox White

Offline effh

  • Posts: 6
[Interest Check] Custom split ergo keyboard.
« Reply #698 on: Mon, 04 June 2012, 12:40:28 »
OrangeJewce,

It appears that there is a command-line version of the teensy loader here: http://pjrc.com/teensy/loader_cli.html
The point of directly modifying the hex file is that you don't have to do a compile, you've just "hacked" the result of the compile (the hex file) to have the keymap you want in it.

I imagine that the utility would ship with the Teensy cli loader and a firmware version (.hex and .map or with the key details from the map hard-coded) which would then be used to either restore default or as the base to generate a custom firmware from.

Offline OrangeJewce

  • ssk.ℜ
  • Posts: 495
  • Location: Minnesota
  • King of the Jewce
[Interest Check] Custom split ergo keyboard.
« Reply #699 on: Mon, 04 June 2012, 13:52:40 »
effh,

    It looks like you are right on all accounts. I'll make sure to package up the teensy CLI with the GUI. This will be on my TODO this evening after work. I am concerned there won't really be a way for me to test whether or not the process works without a controller handy but oh well. I'll have to rely on the Dox et al. to do the testing.

Cheers,
IBM Model M 1390120, Otaku Unicomp+RGB, CM QFR Green, Ducky YOTD Red, SSK MKII,
ErgoDox Blue, ErgoDox White