Split ergonomic keyboard project

wasabah wrote:Hey guys,
I received a notice from German customs today. It says "Keyboard parts" with a value of 90 USD.
But I ordered two keyboards and paid a lot more.
I also have to present the bill at the customs. Is this going to be a problem?



Same for me, no Problem though, it was all there. Ordered 1 ergodox minus switches plus extra pcbs, which comes out to 200. Package was marked at 90, but everything was there, der Zoll didn't complain :P

Typing on it right no actually.... very very slowly. But i love it :)
TDub

Unread post14 Apr 2013, 00:02

X
TDub
 
Posts: 157
Joined: 22 Jul 2012, 14:52
Main keyboard: Poker Vintage Black(Home), Poker Clear(Work)
Main mouse: Saitek Rat7(Office) & Rat9(Home)
Favorite switch: Vintage Blacks
Club member: -
 
So you just showed the original bill, right?
wasabah

Unread post14 Apr 2013, 00:09

X
wasabah
 
Posts: 25
Joined: 09 Jan 2013, 12:03
Location: Germany
Main keyboard: Ergodox
Main mouse: Logitech G400
Favorite switch: MX Brown
Club member: -
 
My ErgoDox arrived yesterday. The Dutch postal service, who did the custom declaration, categorized it as parts of not further defined musical instruments :lol:
Kurk
User avatar

Unread post14 Apr 2013, 11:25

User avatar
X
Kurk
 
Posts: 601
Joined: 03 Nov 2011, 20:10
Location: Sauce Hollondaise (=The Netherlands)
Main keyboard: Kinesis Advantage // Filco MJ2 + HID liberation
Main mouse: ITAC Mousetrak Professional
Club member: 0027
 
sordna wrote:Nice! Yes, you need to push the button on the teensy the first time, so make sure the layout you load has a key (preferably in some layer) that programs the teensy, so you can do it without the actual teensy button going forward. I drilled some holes in my top cover, just in case I need to push that button without opening the case. It came handy when I programmed the teensy blinky program by accident :-)

I've been considering trying to add some extra little switch into one of the unused keys in the matrix to have as the teensy programming button which could then be routed somewhere out of the way to avoid accidental pressing. A pin hole above the teensy sounds like an easier solution :)
eviltobz

Unread post14 Apr 2013, 11:27

X
eviltobz
 
Posts: 26
Joined: 21 Jan 2013, 17:37
Main keyboard: ms ergo 4000 (kinesis ordered, ergodox planned)
Main mouse: some multibutton logitech thing
Favorite switch: dunno, i'm new to this. brown and clear sound good
Club member: -
 
Kurrk wrote:My ErgoDox arrived yesterday. The Dutch postal service, who did the custom declaration, categorized it as parts of not further defined musical instruments :lol:

Since the declaration reads "keyboard parts" (or at least it did for me), they might have thought that it makes more sense to be buying parts for a musical keyboard (like a digital piano) than for a computer keyboard. Still amusing, but it at least fills in how they got to "musical instruments."

It's also understandable---when I told people that I bought a $1500 keyboard, the response was usually "how did you spend $1500 on a keyboard?!" and I then had to explain that it was a piano-like thing. Sometimes I even explicitly said fully-weighted 88-key keyboard and that didn't help (clearly, my assumption that people would know that a standard keyboard is 104 keys was wrong). But I actually assumed that by giving the price they would figure that it didn't make sense for a computer keyboard to be that expensive (not counting that Optimus keyboard) and resolve the ambiguity to musical keyboard.

I've since learned not to make such assumptions.
heuristicist

Unread post14 Apr 2013, 20:33

X
heuristicist
 
Posts: 15
Joined: 18 Jul 2012, 00:58
Main keyboard: Laptop, MS Wireless Comfort 5000
Main mouse: Touchpad, Microsoft Wireless Mouse 5000
Favorite switch: Cherry MX Blue
Club member: -
 
wasabah wrote:So you just showed the original bill, right?

Yes I showed them the Invoice from massdrop and they were happy with it. Paid no customs, "only" 19% vat. But I knew I would be paying that.
TDub

Unread post14 Apr 2013, 22:35

X
TDub
 
Posts: 157
Joined: 22 Jul 2012, 14:52
Main keyboard: Poker Vintage Black(Home), Poker Clear(Work)
Main mouse: Saitek Rat7(Office) & Rat9(Home)
Favorite switch: Vintage Blacks
Club member: -
 
Okay, thanks a lot! I will go tomorrow.
wasabah

Unread post15 Apr 2013, 03:00

X
wasabah
 
Posts: 25
Joined: 09 Jan 2013, 12:03
Location: Germany
Main keyboard: Ergodox
Main mouse: Logitech G400
Favorite switch: MX Brown
Club member: -
 
sordna wrote:Nice! Yes, you need to push the button on the teensy the first time, so make sure the layout you load has a key (preferably in some layer) that programs the teensy, so you can do it without the actual teensy button going forward. I drilled some holes in my top cover, just in case I need to push that button without opening the case. It came handy when I programmed the teensy blinky program by accident :-)

That is a nice feature! I've almost dared to put on the top lid again now... I havent accidentally removed the 'teensy bootloader' from a layer yet. But then I haven't been very adventouros with new firmware, I've just used layouts created by the layout-gui at massdrop.

As to second impressions, it feels pretty good. For me it was quite easy to adapt to, since I've used the kinesis advantage before. And the advantage is probably still my favourite, but it's pretty close between them... I'm thinking about modding it with palm keys... I miss them. :P

I'm having problems perfecting the layout though... I've gotten used to having swedish letters on a layer and some ansi-layout buttons on the main layer. This seems hard to do now without using software drivers... As I think the key that will give me 'ä' in a swedish layout just produces the same scancode as the "/'-key does in ansi. And I'd prefer to have them both... Any ideas? Could I modify the firmware to bind a key on a layer to a macro? Then I could bind a key to produce AltGr+something, and map that combination to 'ä' or something else in software. Or bind it to produce alt + the ascii code, but i don't know if that input is accepted everywhere...
Or I could just have one of the more accessible keys be AltGr and do most of the mapping in software... But that seems so inelegant now when the ergodox can be customized in so many ways in hardware.. :P

These problems are very small though, overall very happy with this keyboard! :)
bjarven

Unread post16 Apr 2013, 23:14

X
bjarven
 
Posts: 31
Joined: 27 Jun 2012, 12:07
Location: Linköping, Sweden
Main keyboard: Kinesis Advantage
Main mouse: Logitech MX1000
Favorite switch: MX Brown
Club member: -
 
I created my custom layout using the massdrop webgui. I also added a Teensy software button on my first layer. But the only way for my to program the keyboard is to press down the hardware button while connecting the usb plug. When I press the mapped software teensy button that I have on layer 1 the keyboard seems to freeze and I can't program it, the program application is just showing the press hardware button picture.

To open the keyboard each time I want to reprogram is really a show stopper for me as long as I haven't found my perfect layout : (
xauser

Unread post16 Apr 2013, 23:37

X
xauser
 
Posts: 66
Joined: 25 Nov 2011, 07:44
Location: Germany
Main keyboard: Undefined
Main mouse: Zowie EC1 White
Club member: -
 
bjarven wrote:Could I modify the firmware to bind a key on a layer to a macro?

The only (completely inadequate) thing I've written so far about macros is the @bisl part of this post over on GH - which probably doesn't mean anything to anyone not already familiar with how the firmware works. I plan to write instructions for macros (using C) sometime, probably this summer after I'm done with rev. 2 of the firmware. The UI (unfinished, last I checked) by Zalusithix on GH might support macros before that.
ic07

Unread post16 Apr 2013, 23:48

X
ic07
 
Posts: 85
Joined: 11 Jul 2012, 22:08
Club member: -
 
bjarven wrote:...As I think the key that will give me 'ä' in a swedish layout just produces the same scancode as the "/'-key does in ansi. And I'd prefer to have them both... Any ideas?

I struggled with the exact problem using my custom boards on computers with German keyboard drivers installed - in my own firmware I solved the issue by also storing necessary modifiers for the German driver with the representation of a letter so @ (AltGr+q) and ! (Shift+1) can live on the same layer (and the layer modifiers are completely separate from shift or altgr), but I would need another translation for other OS driver languages.
kweber implemented this in his maltron fork for German/English and PC/Mac via lookup tables, IIRC, but the resulting code was too large for the Teensy 2.0 without further tweaks.

While trying out hasus great tmk_keyboard firmware, I managed to work around the issue there via action macros (see issue 24), but this is a general problem of any firmware that focuses on the english layout where no other modifiers than shift are used - I have no yet looked into the ergodox code deeply enough to know how it is handled there.
suka
User avatar
frobiac

Unread post17 Apr 2013, 12:00

User avatar
X
suka
frobiac
 
Posts: 255
Joined: 20 Mar 2011, 12:47
Location: Germany
Main keyboard: custom split ergonomic "RedTilt"
Main mouse: IBM trackpoint
Favorite switch: MX red
Club member: 0046
 
Ok, just wanted to say that I finally found my layout. I started with the massdrop webgui, downloaded the resulting source, tweaked the c code some more with vi and compiled it.

The result is a very custom keyboard designed for my needs. Having distance between my hands while typing is a new experience for me that I really enjoy. Same for the thumb cluster! I'm looking forward in ergodox being my daily driver soon.

Some things that don't work for me
* Ergodox won't wake up my pc while hibernating
* Teensy Button for programming does not work for me

I hope both issues are firmware related and will be fixed some day.

Wanna thank all you guys who made this possible!
xauser

Unread post19 Apr 2013, 23:14

X
xauser
 
Posts: 66
Joined: 25 Nov 2011, 07:44
Location: Germany
Main keyboard: Undefined
Main mouse: Zowie EC1 White
Club member: -
 
xauser wrote:Ergodox won't wake up my pc while hibernating

This bugs me too... and it should be fixable. Just haven't had time to do it yet. I'll add an issue on github so I don't forget to at least check it out :) .
xauser wrote:Teensy Button for programming does not work for me

The Teensy (aka jump to boot loader) button works in the default build of the firmware, and I think there have been people saying it worked for them with the massdrop generated layouts too. You might want to double check that you have the key set up correctly - see the leftmost element on this line, this line, and this line of the firmware's default QWERTY layout.
ic07

Unread post20 Apr 2013, 01:31

X
ic07
 
Posts: 85
Joined: 11 Jul 2012, 22:08
Club member: -
 
I am using the source code downloaded from massdrop's layout configurator, with LED / buzzer mods of my own on top, and the Teensy programming button works fine for me. Here is my layout, I'm using the 2nd layer for F keys and mousekeys, and that's where the Teensy program button is as well.

https://www.massdrop.com/ext/ergodox/?k ... 82534668be
sordna
User avatar

Unread post20 Apr 2013, 02:49

User avatar
X
sordna
 
Posts: 328
Joined: 11 May 2011, 19:48
Location: USA
Main keyboard: Kinesis Advantage LF / Dvorak layout
Main mouse: Logitech M500
Favorite switch: Cherry MX Red
Club member: -
 
Hey I have ordered one and I would like to know if we can program letters like É or À directly in the firmware, the web gui doesn't allow me to do it .
zet13

Unread post21 Apr 2013, 16:42

X
zet13
 
Posts: 29
Joined: 04 Mar 2011, 16:19
Location: france
Main keyboard: filco majestouch mx brown
Main mouse: logitech G500
Favorite switch: buckling spring and cherry mx
Club member: -
 
 
Boards : model M, old board witch cherry mx black, TM 2020, TM 2030 and Filco Majestouch brown switch
The short answer is no. The long answer would probably include a discussion on why (with regards to the USB spec), and how, if you're willing to code a bit of C and put up with some inconveniences, you kind of can... a little...

(The current best idea I've heard on how involves platform specific unicode entry macros. This might be a reasonable thing to add at some point, since the concept isn't that hard to deal with and the code probably wouldn't be either - but I'm still hoping to find a cleaner feeling (and platform independent) solution. If one exists.)
ic07

Unread post21 Apr 2013, 19:50

X
ic07
 
Posts: 85
Joined: 11 Jul 2012, 22:08
Club member: -
 
On computer side, it's possible to create a layout that handle É or À (see www://bepo.fr).

For my DIY keyboards I did this on firmware to keep an AZERTY configuration on the computer. I mainly work on windows at my office so I decided to use "alt values". Probably not the simpler and more efficient solution :
Code: Select all
// Keyword definition type :
// 1 : send a caracter
// 2 : send string
// 3 : send ALT code
// 4 : sequence call
// 5 : send a raw key (for non printable caracter)
// 6 : function call

struct KeyWord {
 int type ;
 int key ;
 char* altval ;
 char* string ;
 int fctptr ;
 const struct KeyWord* seq[KEY_SEQ_LENGTH] ;
} ;

for example :
Code: Select all
const PROGMEM KeyWord K_A_C8 = { 1,GRAVE_ACCENT_BITS + KEY_E + SHIFT_MASK ,"","È",0,NULL};
const PROGMEM KeyWord K_S_006 = { 2,0 ,"","ORDER BY DESC ",0,NULL};
const PROGMEM KeyWord K_A_C9 = { 3,0,"0201","É",0,NULL};
const PROGMEM KeyWord K_L_1 = { 4,0,"","[ ]",0,{ &K_A_5B,&K_A_5D,&K_LEFT }};
const PROGMEM KeyWord K_F6 = { 5,63,"","F6" ,0,NULL};

Not portable, a similar solution has to be found on other OS (type 7, 8 ...).

A real unicode keyboard managment would be a great improvement.
jeff

Unread post21 Apr 2013, 22:52

X
jeff
 
Posts: 59
Joined: 09 Oct 2012, 20:39
Main keyboard: TM2030 bépo
Main mouse: Kensington Expert Mouse
Club member: -
 
Why is n1 posting pic's ?? Did I miss the extra thread for that ??
Spharx
User avatar

Unread post21 Apr 2013, 23:08

User avatar
X
Spharx
 
Posts: 225
Joined: 04 Mar 2011, 19:26
Location: Germany
Main keyboard: Leoplod FC200R
Main mouse: DeathAdder
Favorite switch: MX Brown
Club member: -
 
 
Bingo jeff, I'm using bépo everyday and I use a TM 2030. That's why I'm interested in the keyboard, but yes we can just make it azerty, and use a driver to enable bépo on it.
zet13

Unread post22 Apr 2013, 07:19

X
zet13
 
Posts: 29
Joined: 04 Mar 2011, 16:19
Location: france
Main keyboard: filco majestouch mx brown
Main mouse: logitech G500
Favorite switch: buckling spring and cherry mx
Club member: -
 
 
Boards : model M, old board witch cherry mx black, TM 2020, TM 2030 and Filco Majestouch brown switch
How is that possible ? With the ergodox layout configurator I can't even create a proper azerty layout !!!
zet13

Unread post23 Apr 2013, 16:54

X
zet13
 
Posts: 29
Joined: 04 Mar 2011, 16:19
Location: france
Main keyboard: filco majestouch mx brown
Main mouse: logitech G500
Favorite switch: buckling spring and cherry mx
Club member: -
 
 
Boards : model M, old board witch cherry mx black, TM 2020, TM 2030 and Filco Majestouch brown switch
Okay, apparently it's not so easy to implement international layouts.
Is there a way to get the German Umlaute öäü on this keyboard?
wasabah

Unread post25 Apr 2013, 20:03

X
wasabah
 
Posts: 25
Joined: 09 Jan 2013, 12:03
Location: Germany
Main keyboard: Ergodox
Main mouse: Logitech G400
Favorite switch: MX Brown
Club member: -
 
Of course there is; if you set the language to German in your operating system (or to something international) and then you have to send the appropriate keycodes. The massdrop software will probably be useless in this case.
Icarium
User avatar

Unread post25 Apr 2013, 20:04

User avatar
X
Icarium
 
Posts: 1636
Joined: 11 Jan 2012, 16:22
Location: Germany
Main keyboard: These fields just
Main mouse: opened my eyes
Favorite switch: I need to bring stuff to work
 
Keyboards don't send characters, they send scan codes. The keyboard driver on your computer converts those to the appropriate characters.
E.g., the same scan code that is translated to a semicolon (;) by an US keyboard driver is translated to an ö by a German keyboard driver.
Kurk
User avatar

Unread post25 Apr 2013, 21:26

User avatar
X
Kurk
 
Posts: 601
Joined: 03 Nov 2011, 20:10
Location: Sauce Hollondaise (=The Netherlands)
Main keyboard: Kinesis Advantage // Filco MJ2 + HID liberation
Main mouse: ITAC Mousetrak Professional
Club member: 0027
 
I see, thanks for the explanation. I'll try to fiddle with the code..
wasabah

Unread post25 Apr 2013, 21:29

X
wasabah
 
Posts: 25
Joined: 09 Jan 2013, 12:03
Location: Germany
Main keyboard: Ergodox
Main mouse: Logitech G400
Favorite switch: MX Brown
Club member: -
 
Okay, I got it to work. Thanks! :)

I got one question though: if I use the standard qwerty layout and press the Num key, the keys of the right hand keyboard become the numpad, right?
But in my case it only uses the secondary functions of the numpad (left/right/up/down arrow, etc) and not the actual numbers. Why is this and how can I change it?
wasabah

Unread post25 Apr 2013, 23:06

X
wasabah
 
Posts: 25
Joined: 09 Jan 2013, 12:03
Location: Germany
Main keyboard: Ergodox
Main mouse: Logitech G400
Favorite switch: MX Brown
Club member: -
 
With the Massdrop generated layouts, they chose to separate the "numpad layer" key and the "numlock" key. As with a regular number pad, if you use it with numlock off it will perform those alternate functions (which are actually the primary functions of the keys if you think about it, though that design doesn't make a whole bunch of sense to me... lol).

If you want one key to do both at the same time (put you on the numpad layer and press numlock) take a look at one of the default layouts on github (specifically the topleft key of the right hand on layers 0 and 3). There may be a way to do it without modifying the C and compiling yourself, but to be honest I haven't played with the massdrop configurator enough to know.

Alternately, you can assign "numlock" to a different key (probably on the numpad layer), leave the "numpad layer" key the way it is, and just always leave "numlock" on. That means that (unless you change it in the source) the "numlock" LED will always be on too, so that's not my favorite solution, but I think some people have been doing it that way.
ic07

Unread post25 Apr 2013, 23:37

X
ic07
 
Posts: 85
Joined: 11 Jul 2012, 22:08
Club member: -
 
ic07 wrote:Alternately, you can assign "numlock" to a different key (probably on the numpad layer), leave the "numpad layer" key the way it is, and just always leave "numlock" on. That means that (unless you change it in the source) the "numlock" LED will always be on too, so that's not my favorite solution, but I think some people have been doing it that way.

This is what I did now. I put numlock on a key and use the numpad layer from the default layout.
But this way, I have to push the numlock key at least once every time and also push the numpad layer key.
How can I activate numlock by default?
wasabah

Unread post26 Apr 2013, 09:12

X
wasabah
 
Posts: 25
Joined: 09 Jan 2013, 12:03
Location: Germany
Main keyboard: Ergodox
Main mouse: Logitech G400
Favorite switch: MX Brown
Club member: -
 
Kurrk wrote:Keyboards don't send characters, they send scan codes. The keyboard driver on your computer converts those to the appropriate characters.
E.g., the same scan code that is translated to a semicolon (;) by an US keyboard driver is translated to an ö by a German keyboard driver.

So this means, as the keyboard can store different layouts, that for the same pressed key, you can send a different scan code to the computer ?
zet13

Unread post26 Apr 2013, 09:30

X
zet13
 
Posts: 29
Joined: 04 Mar 2011, 16:19
Location: france
Main keyboard: filco majestouch mx brown
Main mouse: logitech G500
Favorite switch: buckling spring and cherry mx
Club member: -
 
 
Boards : model M, old board witch cherry mx black, TM 2020, TM 2030 and Filco Majestouch brown switch
wasabah wrote:How can I activate numlock by default?

I thought that was usually an option in the BIOS, though there might be (platform specific) ways to do it in the OS. Sorry I can't be more specific, I haven't had to do it in years...
ic07

Unread post26 Apr 2013, 10:28

X
ic07
 
Posts: 85
Joined: 11 Jul 2012, 22:08
Club member: -
 
Ah, stupid me. I think you are right. I'll check it next reboot!
Thank you guys! :)
wasabah

Unread post26 Apr 2013, 10:57

X
wasabah
 
Posts: 25
Joined: 09 Jan 2013, 12:03
Location: Germany
Main keyboard: Ergodox
Main mouse: Logitech G400
Favorite switch: MX Brown
Club member: -
 
PreviousNext

Who is online

Users browsing this forum: pansku and 42 guests