Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-other / 2017-05

Developer workflow with Ergodox

5 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

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.

https://www.youtube.com/watch?v=78RtO38wOwI&feature=youtu.be

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
Unknown author
to Graeme Geldenhuys
Graeme Geldenhuys wrote 54 lines
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. https://www.youtube.com/watch?v=78RtO38wOwI&feature=youtu.be 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

Graeme Geldenhuys
to Unknown author
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!

Show quoted text 7 lines
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

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
Unknown author
to Graeme Geldenhuys
Graeme Geldenhuys wrote 19 lines
On 2017-05-14 22:09, wrote: > 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)

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..

Graeme Geldenhuys
to Unknown author
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