Discussion:
[fpc-other] Developer workflow with Ergodox
Graeme Geldenhuys
2017-05-11 10:38:45 UTC
Permalink
Hi,

It's been a few months now since I got my Ergodox keyboard. Since then I
was gifted a Massdrop kit, and built my second Ergodox myself. An
amazing experience and very fun.

For anybody thinking of using a Ergodox keyboard for programming, I can
highly recommend it. It took me a couple of weeks to settle on a
keyboard layout that works well for me - especially considering how
often we Object Pascal developers use F-keys, keyboard navigation of
source code and such.

Here is my layout I've been using for a couple of months now.


https://github.com/graemeg/qmk_firmware/tree/gg_dvorak/keyboards/ergodox/keymaps/gg_dvorak


A few days ago I stumbled across the following YouTube video. That guy
talks about using the Ergodox for programming purposes, and also mouse
functionality via the keyboard (something I haven't mastered yet). He
also uses layers of course (so do I), and shows very well how fast one
can code even with layers - some non-Ergodox people think you can't be
fast with layers. I disagree, and this guy proves it well.

I also like his idea of a Shortcuts layer, using the "Hyper" or "Meh"
key plus one other key.

Hyper = Alt + Ctrl + Shift + Cmd/Win
Meh = Alt + Ctrl + Shift

all that via a single keypress.

* A Hyper key, as described by Brett Terpstra.
http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
* A Meh key, which is a less-hyper version of the Hyper key (sends
Alt+Ctrl+Shift, without Cmd/Win).

Here is the video. They keyboard layout is discussed at 3m 40s into the
video.



Here is his actual layout.

http://configure.ergodox-ez.com/keyboard_layouts/qgmgej/edit



There is another guy that also has some very cool ideas. I really
like the Shift, Ctrl and Alt keys on the home row. I quickly tried
it last night, and it works surprising well and very comfortable to
type.

https://implementsblog.com/2016/10/16/my-ergodox-ezs-custom-layout/


Possibilities are endless. Needless to say, I've been tweaking my
keyboard layout again, with even less finger movement or stretching than
before. I'll give it a couple more days, and then post a link to the new
layout.

Regards,
Graeme
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key: http://tinyurl.com/graeme-pgp
_______________________________________________
fpc-other maillist - fpc-***@lists.freepascal.org
http://lists.
n***@z505.com
2017-05-14 21:09:59 UTC
Permalink
Post by Graeme Geldenhuys
Hi,
It's been a few months now since I got my Ergodox keyboard. Since then I
was gifted a Massdrop kit, and built my second Ergodox myself. An
amazing experience and very fun.
For anybody thinking of using a Ergodox keyboard for programming, I
can highly recommend it. It took me a couple of weeks to settle on a
keyboard layout that works well for me - especially considering how
often we Object Pascal developers use F-keys, keyboard navigation of
source code and such.
Here is my layout I've been using for a couple of months now.
https://github.com/graemeg/qmk_firmware/tree/gg_dvorak/keyboards/ergodox/keymaps/gg_dvorak
A few days ago I stumbled across the following YouTube video. That guy
talks about using the Ergodox for programming purposes, and also mouse
functionality via the keyboard (something I haven't mastered yet). He
also uses layers of course (so do I), and shows very well how fast one
can code even with layers - some non-Ergodox people think you can't be
fast with layers. I disagree, and this guy proves it well.
I also like his idea of a Shortcuts layer, using the "Hyper" or "Meh"
key plus one other key.
Hyper = Alt + Ctrl + Shift + Cmd/Win
Meh = Alt + Ctrl + Shift
all that via a single keypress.
* A Hyper key, as described by Brett Terpstra.
http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
* A Meh key, which is a less-hyper version of the Hyper key (sends
Alt+Ctrl+Shift, without Cmd/Win).
Here is the video. They keyboard layout is discussed at 3m 40s into the
video.
http://youtu.be/78RtO38wOwI
Here is his actual layout.
http://configure.ergodox-ez.com/keyboard_layouts/qgmgej/edit
There is another guy that also has some very cool ideas. I really
like the Shift, Ctrl and Alt keys on the home row. I quickly tried
it last night, and it works surprising well and very comfortable to
type.
Looks interesting, but I'm a laptop man, so I can sit multiple places in
houses/decks/rooms to not get bored with the same
chair/room/atmosphere... Using a keyboard (not the native laptop one)
means more junk/cables to carry with the laptop, every time I "hop" a
room, or head to a different chair

But.. ignoring that.. and supposing an interested buyer was questioning
it for purchase:

Does it solve the Shift Key strains issue?

My biggest gripes in programming, or hates, is having to constantly feel
like I'm going to end up hospitalized due to finger strains... Mostly
because of:
- BiCapitalization/CamelCase... pinky finger shift key strain
- same goes with underscores in_plain_c
- and : colon for assignment... too much shift key
- and in { curly brace languages, once again more shift key annoyances
_______________________________________________
fpc-other maillist - fpc-***@lists.freepascal.org
http://lists.freepascal.org
Graeme Geldenhuys
2017-05-15 00:28:42 UTC
Permalink
Post by n***@z505.com
Does it solve the Shift Key strains issue?
Yes, you can reprogram the keyboard layout any way you want. Modifying a
layout is very simple via code. And even if that is too much for you,
there is visual web based layout designer that generates the .hex binary
file for you.

The possibilities with the Ergodox is endless. Just take a look at this
website.

https://implementsblog.com/2016/10/16/my-ergodox-ezs-custom-layout/

The modifier keys are now long-press keys under the home row. I tried in
recently, and it is amazingly good, and actually pretty easy to get used
to. Finger travel is now near zero for modifiers. :)

I also programmed the Enter and BackSpace keys for my index fingers -
much stronger that your pinky!
Post by n***@z505.com
My biggest gripes in programming, or hates, is having to constantly feel
like I'm going to end up hospitalized due to finger strains... Mostly
- BiCapitalization/CamelCase... pinky finger shift key strain
- same goes with underscores in_plain_c
- and : colon for assignment... too much shift key
- and in { curly brace languages, once again more shift key annoyances
You really should take a look at the "Programmer Dvorak" layout - if
using a normal keyboard. And yes, you can program the Ergodox with that
layout too.

For the symbols, I don't use the top row (normally numbers) any more -
too much stretching. On the Ergodox I use a Symbols layer instead. I
toggle it with my right thumb (acts almost like a Shift key), then type
the symbol with my left hand. Here is that layer. Most used symbols for
me is on the home row, or very close to the home row. Index finger
favoured over the weaker pinky.

Left Hand:
╭────────┬──────┬──────┬──────┬──────┬──────┬──────╮
│ │ │ │ │ │ │ │
├────────┼──────┼──────┼──────┼──────┼──────┼──────┤
│ | │ ! │ @ │ { │ } │ + │ TODO │
├────────┼──────┼──────┼──────┼──────┼──────┤ │
│ ` │ : │ $ │ ( │ ) • │ = ├──────┤
├────────┼──────┼──────┼──────┼──────┼──────┤ ( ) │
│ │ # │ ^ │ [ │ ] │ ~ │ │
╰─┬──────┼──────┼──────┼──────┼──────┼──────┴──────╯
│ │ £ │ │ │ │
╰──────┴──────┴──────┴──────┴──────╯


Also note the "TODO" and "( )" keys. They are programmed macros.
eg: Pressing the "TODO" key types: // TODO: |
or pressing "( )" types: (|)

The | is where the edit cursor ends.

On my default layer, I also have two other macros. One key triggers
"Ctrl+F9" to compile my applications. The other key types: _:=_
where _ is a space character.


Ergodox is how keyboards (for computers) are meant to be! 100%
customization, simply and quick to customise, and very comfortable to
type on.

Regards,
Graeme
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key: http://tinyurl.com/graeme-pgp
_______________________________________________
fpc-other maillist - fpc-***@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/ma
n***@z505.com
2017-05-15 22:02:31 UTC
Permalink
Post by Graeme Geldenhuys
Post by n***@z505.com
Does it solve the Shift Key strains issue?
Yes, you can reprogram the keyboard layout any way you want. Modifying
a layout is very simple via code. And even if that is too much for
you, there is visual web based layout designer that generates the .hex
binary file for you.
The possibilities with the Ergodox is endless. Just take a look at this
website.
https://implementsblog.com/2016/10/16/my-ergodox-ezs-custom-layout/
The modifier keys are now long-press keys under the home row. I tried
in recently, and it is amazingly good, and actually pretty easy to get
used to. Finger travel is now near zero for modifiers. :)
I also programmed the Enter and BackSpace keys for my index fingers -
much stronger that your pinky!
I never use pinky for enter/return/backspace, I just move my whole hand
up there and use middle finger (possibly some irony here.. Middle finger
to the universe when I hit enter, middle finger to the entire internet..
except for the open source communities)
Post by Graeme Geldenhuys
You really should take a look at the "Programmer Dvorak" layout - if
using a normal keyboard. And yes, you can program the Ergodox with
that layout too.
Been meaning to try dvorak again one day, it's just that all laptops
come shipped with a standard keyboard so I prefer to use a keyboard
layout that is on any laptop, as if one laptop fails, you have to
relearn the new laptop, so if everything is standard it is easier to
relearn... and then there is the issue of using a computer at a library
or friends computer .. if you keep using custom keyboards your brain
gets FUBAR when it has to use a different computer.

I used to be a desktop man, using desktop only for development. Then I
became a laptop man so I could sit in different places instead of being
fixed in one location... Which I was okay with before, but not now.

Programming blues... Programming blues..
_______________________________________________
fpc-other maillist - fpc-***@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinf
Graeme Geldenhuys
2017-05-15 22:39:08 UTC
Permalink
Post by n***@z505.com
Been meaning to try dvorak again one day, it's just that all laptops
come shipped with a standard keyboard so I prefer to use a keyboard
All operating systems support the US English Dvorak layout for absolute
years. What I personally tested: OS/2, OSX, Windows (all of them),
Linux, FreeBSD, Solaris and Haiku.

They all support software switching the keyboard layout, and Dvorak
comes standard. So you don't need to swap keycaps etc. If you touch
type, which hopefully you do with QWERTY and definitely with Dvorak,
then there really is no need to look at the keys or swap keycaps. Hell,
my Ergodox keyboard doesn't even have anything printed on any of my
keycaps - they are pure black.

The Programmer Dvorak will be a manually installed layout for Windows (I
don't know about OSX), but that is only a few KBytes install. I believe
Linux and FreeBSD now includes Programmer Dvorak as standard for a few
years now too.

Dvorak and Programmer Dvorak are pretty similar anyway, it's just the
number row that has really changed.


Regards,
Graeme
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key: http://tinyurl.com/graeme-pgp
_______________________________________________
fpc-other maillist - fpc-***@lists.freepascal.org
http://l
Loading...