RPG Feed Welcome! :-)

This is both a wiki (a website editable by all) and a blog (an online diary about the stuff Alex Schroeder reads and does). If you’re a friend or relative, you might be interested in reading Life instead of this page. If you’ve come here from an RPG blog, you might want to head over to RPG. There are other similar categories to be found on the SiteMap.

Für Rollenspieler gibt es ebenfalls eine eigene RSP Kategorie.

2016-05-03 Mortality

Regular readers know I use an entourage approach in my games. Each player has a “main” character who gets a full share of treasure and their charisma determines how many other characters there are—the size of their entourage. In one of the campaigns, I’ve limited the number of characters on an adventure to three per person because some of the players are slow. Thus, even if you have seven henchmen, you can only bring two of them along on any single session. The end effect is that some players play only a single character, others play a trio, most have “small” characters guarding their ships and holds and homes, and sometimes we run adventures for the low level characters.

In an classic D&D campaign, how do you or your players deal with high mortality if you don’t use multiple characters per player? One of my campaigns currently counts 12 casualties after 24 sessions, for example. And I’m using the super generous shields shall be splintered and a death and dismemberment table instead of instant death at zero hit-points.


Add Comment

2016-04-30 Google Plus Usage

Google+ is a website like Facebook or Twitter. On Facebook, I am connected to friends and family. On Twitter I have a personalized news feed. On Google+ I found people that share my interests. This page is supposed to help you get started if you want to give Google+ a try.

Some words you’ll hear again and again:

  1. To “follow” or to “circle” somebody means that you’ll be shown some of their posts when you visit Google+.
  2. When you visit Google+, the first thing you’ll see is your “Home” stream. Google will not always show all the posts of the people you are following.

Advanced Usage: You can show a different aspect of yourself to different people by creating “circles”, putting people in those circles (if you just “follow” somebody they simply end up in your “Following” circle), and then sharing a new post with just a particular circle. Don’t worry about this for the moment and simply assume that anything you are posting is public and you’ll be fine.

You can also control whether posts by people in a particular circle are more or less likely to be shown in your Home stream. This is how you can have circles of people whose post you value very much and circles of people you’d rather see less of. For the moment, don’t touch these settings until you see an actual use for them.

Preparing Your Profile

You need to do at least two things:

  1. Use an image for your face, preferably something that looks at least vaguely like a face.
  2. Write two or three posts that reflect your interests. Sure, you don’t have an audience, yet. But this is what people interested in you will see and they choose to circle you

Advanced Usage: You can write an introduction and “pin” it to your profile. It’ll be always at the top and greet new visitors. I recommend doing this.


If you know that you will be writing about more than one topic and you assume that readers of one might not be interested in the other, create appropriate collections. If you do that, write a post for each collection so visitors know what to expect. I suggest you keep the number of collections low. Four or five are more than enough to get started.

People have multiple options, now:

  1. Follow you and all your collections. This is the default when following other people.
  2. Follow you but unfollow one or more of your collections. This is how people get to decide whether they want to know about your politics, your kids, or your miniature painting.
  3. Not follow you but follow one or more of your collections. This is how people get to decide whether they want to get added to new collections you might create in the future. If they just follow your collection on board games, chances are, they care only about board games.

Advanced Usage: You can have collections that are public (the default) and collections for particular circles. You can configure collections such that people that follow you don’t automatically follow this collection. Don’t worry about this unless you have a topic you assume almost nobody will be interested in but you still want to allow others to know about this interest of yours.

Following People

You need to find a people to start following. Your best bet is to start following people you from the blogs you read. If you read this blog, for example, you know that the Contact page has the link to my Google+ profile.

Follow these people, read their posts and the comments people left on their posts, then check out the profiles of the people that left comments you like, and just keep going, adding as you find people that share your interests.

Another great way to find a lot of people to follow is to search for “communities” that match your interest. There, use the same principle. If you see a profile that peeks your interest, look at their profile and figure out whether you’d like to start following them.

Advanced Usage: You can create your own communities, and you can create private communities which you might eventually want to do if you feel like organizing small chat groups with a small number of friends. This is a bit like those group chats many messenger apps offer.

Circle Maintenance

I follow and unfollow people all the time and for the slightest reasons, e.g. posting too much about a particular topic I don’t care about without putting them in a collection I can unfollow. On the other hand, if somebody comments or pluses stuff I said, I’ll often look at their profiles and follow (again, perhaps) if the last few posts look interesting.

I only block when it’s stuff that cannot be solved by unfollowing. Leaving idiot comments on the posts of people I don’t want to unfollow, inviting me to events I will never attend, repeatedly sharing stuff that notifies me, and other such annoyances.

I never confront anybody about this because the world is big and full of people. There are always other people.

What Does This Mean For You?


  • We already made sure that people looking at your profile have a pretty good idea of what to expect and that’s how they’ll feel OK about following you, assuming you share a common interest.
  • Just sitting there is not a good idea. You need to read blog posts and comments, looking for interesting people, and you need to leave comments that make other people want to know more about you.
  • You must avoid annoying people by spamming them with stuff they’re not interested in because they’ll simply unfollow you and then you’ll be left talking to other spammers.
  • This means that Google+ is not a terribly good venue to advertise. You need to engage with people, gain their trust, be useful, be entertaining, and then you can post news about stuff you did, while remaining trustworthy, useful and entertaining.

Tags: RSS

Add Comment

2016-04-25 Urheberrecht

Cory Doctorow: Das Ding mit dem Copyright – eine Übersetzung des Vorwortes, welches Cory Doctorow für Little Brother geschrieben hat, von Ste­fan Holz­hauer, als Reaktion auf einen Artikel von Felix Münter unter dem Titel Diebstahl bleibt Diebstahl – Egal, um was es geht.

Da gäbe es so viel zu sagen! Aber das wurde ja schon alles gesagt.

  • Urheberrecht haben wir selber aufgestellt und das können wir auch ändern. Es ist kein “natürliches” Recht, welches sich wie selbstverständlich aus unserer Existenz als Menschen ergibt
  • Wir stellen manchmal Gesetze auf, um Geschäftsmodelle zu schützen, die uns schützenswert erscheinen; diese Einschätzung kann sich aber im Laufe der Zeit auch ändern
  • Da physische Dinge nicht kopiert werden können, kann man den Diebstahl von einem Ding und dem Anfertigen einer Kopie nicht automatisch gleichsetzen

Ich empfehle das Buch Free Culture von Lawrence Lessig.

Diskussion auch auf Google+.

Tags: RSS

Comments on 2016-04-25 Urheberrecht

Aus der G+ Diskussion, mein Kommentar zum Artikel von Felix Münter:

Der Artikel suggeriert die moralische Gleichsetzung von Diebstahl und dem Anfertigen von digitalen Kopien. Wenn allerdings eine grosse Anzahl Menschen ständig das Recht verletzen, dann stellt sich auch die Frage, ob es denn wohl reformbedürftig sei. Und falls ja, in welchem Sinne: ob die Taten, welche im Moment verboten sind und Diebstahl genannt werden, nicht einfach erlaubt werden sollten und die Gesellschaft neue Geschäftsmodelle ersinnen müsste, weil wir ja die Gesetze für uns alle und nicht zur Stütze gewisser Geschäftsmodelle erlassen.

Mein Argument, dass ein Gesetz der Reform bedürfe, wenn sich ein grosser Teil der Bevölkerung nicht daran hält, wurde von Reinhard J. Wagner mit dem Hinweis angegriffen, dass wir ja auch Morden straffrei machen wollen, nur weil es viele Mörder gibt.

Klar, übertreiben kann man jedes Argument. Aber genau das ist ja auch das Argument, was uns zur Reform bringt. Wenn alle Alkohol trinken, dann ist die Prohibition vielleicht keine gute Idee gewesen. Wenn so viele junge Leute Drogen nehmen, dann ist die Repression vielleicht nicht das geeignete Mittel, um dagegen anzugehen. Und natürlich ist es egal, wie viele Mörder es gibt, das wollen wir nicht legalisieren. Mich stört vor allem die absolute Formulierung: “Diebstahl bleibt Diebstahl.” Seid Napster befinden wir uns in einer grossen Diskussion über die Grenzen des Urheberrechts und ich bin nicht bereit, in einer Diskussion, wo es um die ständig stattfindenden Urheberrechtsverletzungen geht, diese Diskussion unter den Tisch zu kehren und mich auf die Formel “Diebstahl bleibt Diebstahl” zurück zu ziehen. Nein, eben genau diese Diskussion will ich führen.

Reinhard J. Wagner wiederholte seinen Punkt nochmal und meinte, dass für ihn die Tatsache, dass es sowieso alle machen, ein schwaches Argument sei.

Nun ja. Dann gehen wir von den Grundsätzen aus: Warum haben wir überhaupt Gesetze? Um das Zusammenleben zu reglementieren, für den Streitfall, damit nicht der Stärkere gewinnt, vielleicht. Welcher Art sind dann die Gesetze, die wir wollen? Wir haben natürlich Ziele: körperliche Unversehrtheit, materieller Wohlstand, siehe Grundgesetz, Menschenrechte, Verfassung, und so weiter. Daraus ergibt sich, dass die Gesetze Legitimationsbedarf haben, der über ihre blosse Existenz hinausweist. Bei den Amis ist die Argumentation ja einfach: “To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries.” [1] Somit kann man für jede Gesetzesänderung im Urheberrechtsbereich anfangen, über den Zielerfüllungsgrad zu reden. Und über die Alternativen.

Leider haben wir in Europa ja nur die Geschichte, welche von der Statue of Anne ausgeht [2], und deswegen eigentlich ein Gesetz, welches die Verwertung der Werke schützt, und zwar über die Verleger untereinander. Die Geschichte führt dann weiter bis zu TRIPS. Und nun, dank Internet, Desktop Publishing, Print on Demand, sind wir plötzlich alle von einem Urheberrecht betroffen, welches vielleicht für den Alltag immer unbrauchbarer wird. Wo erfahren wir diese Unbrauchbarkeit? Zum Beispiel daran, dass ein Urheberrecht so schwer zu erklären ist, für viele kaum einzusehen ist, und schlussendlich von vielen auch nicht beachtet wird. Ergo der Reformbedarf.

– Alex Schroeder 2016-04-25 14:11 UTC

Aus aktuellem Anlass eine Standortbestimmung, die meine (tiefen) Erwartungen übertrifft. Urheberrecht: Die digitale Urheberrechtsreform versackt im Fiasko.

– Alex Schroeder 2016-04-28 06:10 UTC

Bundestag dehnt Buchpreisbindung auf E-Books aus.

– Alex Schroeder 2016-04-28 22:05 UTC

Urheberrecht: USA setzen Schweiz auf «Watch List».

Im Zentrum der amerikanischen Kritik an der Schweiz steht die «Piraterie» im Internet und das so genannte Logistep-Urteil des Schweizerischen Bundesgerichts (BGE 136 II 508): In diesem Urteil hatte das höchste Gericht in der Schweiz den Eidgenössischen Datenschutz- und Öffentlichkeitsbeauftragten (EDÖB) darin bestätigt, dass die damalige Internet-Überwachung für urheberrechtliche Massenabmahnungen gegen Filesharer in der Schweiz das Datenschutzrecht verletzte.


Letztlich ist den amerikanischen Forderungen gemeinsam, dass im Urheberrecht die üblichen rechtsstaatlichen Mittel und Wege ausgehebelt werden sollen, wie es teilweise auch die laufende URG-Revision vorsieht.

Das Ganze bezieht sich auf die anstehende Urheberrechtsrevision. Urheberrecht: Massenabmahnungen und Netzsperren für ein «sauberes Internet» in der Schweiz. Wenn man dort weiter liest, wird einem sowieso nur schlecht.

Der Bundesrat befürwortet die Einführung von Netzsperren, Selbstjustiz und Überwachung im Sinn der umstrittenen Empfehlungen der einseitig zusammengesetzten Arbeitsgruppe zur Optimierung der kollektiven Verwertung von Urheberrechten und verwandten Schutzrechten (AGUR12) sowie nach Wünschen der amerikanischen Unterhaltungsindustrie und ihren reichlich subventionierten Verbündeten in der Schweiz.


– Alex Schroeder 2016-04-29 10:11 UTC

Die neue Fassung des Buchpreisbindungsgesetzes – ein Kommentar von Stefan Holzhauer:

Die Ar­gu­men­ta­tion, dass die Buch­preis­bin­dung auch Ni­schen­pro­dukte er­mög­li­che, ist oh­ne­hin eine Lä­cher­li­che, wenn man sich ansieht, was die Pu­bli­kums­ver­lage so an bil­li­gem und mies lek­t­o­rier­tem Mas­sen­müll auf den Markt pum­pen. Auch der Hin­weis auf kul­tu­relle Viel­falt zieht mei­ner An­sicht nach nicht im Ge­rings­ten. Wenn dem so wäre, müsste es auch Preis­bin­dungs­ge­setze für Mu­sik, Filme oder Com­pu­ter­spiele ge­ben. Die gibt es aber nicht und man kann nicht sa­gen, dass es bei die­sen Me­dien keine Viel­falt gäbe – so­gar ganz im Ge­gen­teil.[…] Dass die Self­pu­blis­her da­von aus­ge­nom­men wur­den, er­freut mich dann aber doch – das kann man fast pro­gres­siv nen­nen, auch wenn es mit gro­ßer Wahr­schein­lich­keit nur ein Ver­se­hen war.

– Alex Schroeder 2016-05-01 11:34 UTC

Add Comment

2016-04-20 How To Get Started With Text Mapper

Here’s how to get started with a random map:

  1. Visit https://campaignwiki.org/text-mapper
  2. Click the Random button
  3. Click the Submit button
  4. Use the Back button to make changes

(If you click the Random link then you won’t be able to get back to the text that generated it all – you’ll have to look at the page source and at the very end you’ll find the text that generated the map in a comment, just in case.)

To get a feel for the icons available, do the following in another tab:

  1. Visit https://campaignwiki.org/text-mapper
  2. Click Help
  3. Scroll down to the Gnomeyland section
  4. Compare example data and result

Campaign Wiki Bonus: If you can find a way to store your text describing the map online, then your map will be live – you can change the text and reload your map, and it will have changed as well. For one of my campaigns, for example, I keep the text on on a page, and I use the link to the raw text of that page to generate the actual map.


Add Comment

2016-04-19 Immersion

Recently, William Nichols argued on Google+ that some games avoid the dichotomy of Sandbox vs. Railroad one often sees discussed. This was in reply to me sharing a hilarious video, about 15min, about two campaigns: the sandbox that turned into The Hobbit and the railroad that turned into The Lord of the Rings. It comes with many asides that I remember myself thinking when I was younger, e.g. the idea that players had a social obligation to go along with what I had prepared.

William basically argued that some rules designed the problem away by using improvisation and he listed Dungeon World (which I have run) as well as Fiasco and Apocalypse Now (both of which I have played).

I think these examples are definitely role-playing game designers trying to design their way out of the problem space of “wasted prep” – either because it’s a lot like work for the GM or because it affords railroading, which is not fun for players.

But then again, if you manage to set expectations such that people know that some parts of your game are not improvised, then these locations on the map will be “more real” than things you all just thought up. That’s how I work, at least.

So that’s the counterweight I see: we can design away the option of a railroad, but we must be careful not to design away an important source of immersion, the suspension of disbelief that there is an actual, imagined, shared, pre-existing world out there. For me, that idea is powerful. In games that afford a lot of improvisation, this is often lost, I feel.

Dungeon World navigates this by suggesting the creation of a map beforehand and Perilous Wilds even offers a procedure to create a shared map at the table.

To make a long story short: I think it’s important to remember that adding more improvisation also means that you loose something. Being aware of that trade-off is important.


Comments on 2016-04-19 Immersion

I partially agree on the “more real” part, but for a different reason. I think things created through collaboration are fun and useful, but feel soft to the players. Things fully in control of the GM, whether prepped or improv’d, feel harder and “more real”.

– Aaron Griffin 2016-04-19 16:54 UTC

Yeah, I don’t really know how this belief in the imagined world is created. In 2014 I wrote that rolling treasure on a table made it “more real” than simply making it up, so even I as a DM benefit in some weird way. To use your nomenclature, rolling random encounters and random treasure on a pre-existing table makes it “feel harder” and thus “more real”.

– Alex Schroeder 2016-04-19 17:20 UTC

The discussion in that G+ thread continued. I was asked, “is there disagreement to the proposition that prep is a product of design?”

I don’t think we ever had a disagreement. To argue that there is only sandbox and only railroad would be foolish. When I posted that link talking about sandboxes and railroads, it was mostly for entertainment reasons. Also, my preference is sandbox classic D&D, but I have played plenty of indie games to feel that I’ve made an informed choice. Up above, I argued why a lot of improvisation is no solution for me. But clearly, improvisation is an important skill and there are various techniques that are useful to any GM out there. Prep is a product of design, I agree, but improvisation is not a panacea. I guess that was my point somewhere in all of that.

Further down, the conversation turned to prep. William argued that good game design would make sure that very little time would be spent in prep otherwise “my time as GM is not valued.” And furthermore, the requirement for prep “is one more way we keep people not like us out of the hobby.”

I personally find more than half an hour prep per three hour game of classic D&D is my upper limit. Sadly, the older D&D versions did not come with a good discussion of efficient prep. Luckily, we have blogs and oral tradition and where as new games incorporated all this accumulated wisdom into the actual text of their rules, nothing stops a DM from eclectically building their own procedures for prep. So yes, I concede that the actual rules are lacking, but it will still work for people. And one aspect we haven’t touched upon is that prep can also be an enjoyable solo activity. It’s not for everybody, but if it is, then D&D is for you.

So, what about those other players at my table. Are the rules of D&D and the requirement to prep holding them back? I’d say that I don’t want the others at the table to GM because they don’t want to GM, as far as I can tell. Those that do get to run their games, using their preferred rules, no problem. And I scratch my itch for other games by having an indie game night. There’s no need for my game to be the one game to serve all people.

So, does D&D need an excuse for it’s community of bloggers, of oral tradition, of advice given? Is all of that necessary because it’s simply badly designed?

Our lives are full of activities that are not fully prescribed and these lacunae allow us to bend these activities to our preferences, and to make blunders, yes. But that doesn’t mean that all our games need more rules. I don’t share the enthusiasm for the designed experience. I prefer my games to be less like a board game. I want there to be gaps.

Let’s go back to the beginning, however. What are we talking about? The conversation started with the contrast between a sandbox and railroad. Then we argued whether improvisation could help solve this problem, and we talked about the perceived burden of preparing our games. I basically argued that not improvising and instead preparing for games also increases there verisimilitude, and I argued that preparation is also an interesting activity in and of itself. And thus, for people like me, for people who enjoy this kind of game, classic D&D remains an option.

Perhaps we need to reevaluate where this discussion is supposed to go. Are we trying to come to agree on a single answer to what’s best in RPG design? I don’t think this will be possible. I’m trying to illustrate the width and depth of the space we’re talking about and I guess I was warning against thinking that improvisation would be a cure-all, and I’m warning against thinking that no-prep is a cure-all. I guess I’m arguing for an appreciation of the variety of human needs and the design space available to all of us as we write our RPG rules, or house rules, or rule variants.

– Alex Schroeder 2016-04-20 14:34 UTC

Add Comment

2016-04-16 Ranged Weapons

Alexey Monk wondered about this sentence in Moldvay’s Basic D&D, B25, on Google+: “Unless missile attacks are mentioned, monsters will only engage in melee combat.”

I let monsters use ranged wepons when I want to emphasize something. So, giants throw stones, gnolls are dangerous hunters, hobgoblins have discipline and formations and know how to make a shield wall and shoot arrows from the back, that kind of thing. My kobolds will dig pits, prepare barrels of flaming oil, or if they set up bottleneck ambushes, they might use their tiny bows, in general, but when running into random encounters, they will be disorganized and relying on melee only. That’s the trade-off that happens in my game. I guess I could take Moldvay’s rule and apply it to dungeon stocking. If the “Saturday special” includes Tucker’s kobolds, then missile attacks will be mentioned (in my notes). All the other kobolds will not.

Tags: RSS

Add Comment

2016-04-11 Atreus, Windows, and Emacs

So, I want to define an interesting layout for my Atreus keyboard. On OSX, I used Ukulele to do it. On Windows, I’m using Microsoft Keyboard Layout Creator 1.4.

+---+---+---+---+---+          +---+---+---+---+---+
|Q  |W <|E >|R (|T )|          |Z {|U }|I [|O ]|P €|
|q 6|w 7|e 8|r 9|t 0|          |z 1|u 2|i 3|o 4|p 5|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G $|          |H ^|J &|K  |L ×|: ||
|a  |s  |d  |f  |g @|          |h =|j +|k -|l *|. …|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B %|          |N ~|M 」|_ —|´ ’|` ”|
|y  |x  |c  |v  |b #|          |n ¨|m 「|- –|' ‘|" “|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |DEL|   |  |   |   |   |; »|? \|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

When I switch to my new layout, I still have some problems with it:

  • I was able to define my extra stuff using AltGr, which is the equivalent of Alt+Ctrl at the same time, which means that under Windows, I need to press both of them to access @ on g, for example. Is there a way to make this work for both Mac and Windows? Change the Alt key to Right Alt and it’ll work?
  • When using Emacs, I get A-C-g is undefined. Other programs, like Firefox, will correctly interpret A-C-g as AltGr + g and give me the @. What can I do to fix this?
  • When using Emacs, I want to use the windows key as meta. On my keyboard, that’s SUP (Super). But in this case, I get some Windows action. So I start experimenting.
  (setq w32-lwindow-modifier 'meta ; windows is meta
	w32-pass-lwindow-to-system nil
	w32-rwindow-modifier 'meta ; windows is meta
	w32-pass-rwindow-to-system nil
	w32-recognize-altgr t
	w32-pass-alt-to-system t   ; alt is alt
	w32-alt-is-meta nil)
   ;; w32-phantom-key-code??

Perhaps it would be easier if I changed that key to Meta using the keyboard’s firmware and it would work correctly on both OSX and Windows?

And I’m still not sure how to change bindings for simple keys using the Alt key. Perhaps I need a different utility? A good Microsoft Keyboard Layout Creator alternative…

I guess the alternative would be to use Fn together with these extra keys. But then I can’t bind them to something interesting like “…” because in order to that, I would need access to these keys on Microsoft Keyboard Layout Creator, which I do not.


Comments on 2016-04-11 Atreus, Windows, and Emacs

Well, right now I am back at the US standard layout. Perhaps I can do everything else using dead keys? Might be simpler than all this extra fiddling. I’m hating everything about it already. I’m spending too much time worrying about programming the keyboard but as it stands, I won’t ever get a system, where I can just carry my keyboard to another desk and start typing. It just requires too many features by the operating system and the various solutions are incompatible anyway.

Current mood: frustrated.

– Alex Schroeder 2016-04-11 19:40 UTC

I want a keyboard with Super and Hyper that works on both Windows and OS X. I still don’t have a precise answer but this seems good ot know: https://ergodox-ez.com/pages/our-firmware They define a “Hyper” and a “Meh” key. I pre(re)invented that approach using AutoHotKey and duplicated bindings, and decided it was a poor use of my time. If it is built into your keyboard, however, might be nice. I still want to answer “Why can’t we have a GUI key that is separate from the SUPER key?”. Seems possible, and I would like it a lot because we do need a GUI key, too.

Grant Rettke 2016-04-11 21:00 UTC

Oh! Right. Whenever I have to use another computer I usually connect to it with my laptop using, er, Synergy. Synergy is great, but… it is an interesting case of a GPL-ed free software getting crippled so that they can sell it…

So I guess that it is just waiting for a fork to appear. Meanwhile you can get a bit older version from here: http://synergy-project.org/download/free/ (or compile it yourself, though in case of crippled software it is usually not as simple. But who knows). Same version is debian repos (so I haven’t really noticed).

It’s kinda interesting that instead of starting some crowd funding they decided to turn the software into something that I don’t really want to recommend to anybody just because of their “monetization“ shit. Awful.

But! It allows me to use my laptop (and therefore my own configuration) for any computer I connect with. So, perhaps that’s an option?

– AlexDaniel 2016-04-11 21:09 UTC

Grant, I saw you blog post just now and I’m reminded of what I discovered when I looked at the keycodes available in the firmware:

/* Modifiers */
KC_LCTRL            KC_LCTRL        E0 Keyboard LeftControl
KC_LSHIFT           KC_LSFT         E1 Keyboard LeftShift
KC_LALT                             E2 Keyboard LeftAlt
KC_LGUI                             E3 Keyboard Left GUI(Windows/Apple/Meta key)
KC_RCTRL            KC_RCTL         E4 Keyboard RightControl
KC_RSHIFT           KC_RSFT         E5 Keyboard RightShift
KC_RALT                             E6 Keyboard RightAlt
KC_RGUI                             E7 Keyboard Right GUI(Windows/Apple/Meta key)

No KC_RHYPER or KC_LHYPER! No KC_RSUPER or KC_LSUPER! The comment points to another document: “Keycodes are defined in ‘common/keycode.h’. Range of 00-A4 and E0-E7 are identical with HID Usage.” In the header file mentioned, it says: “Virtual keycodes are defined out of above range to support special actions. Keycodes based on HID Usage Keyboard/Keypad Page(0x07) plus special codes.” As the URLs are no longer pointing anywhere, here’s what I think this refers to the USB HID Usage Tables on page 53ff.

I think this means that there cannot be a USB keyboard with a Hyper key. I think what you therefore need to do is make a key that sends multiple modifiers at the same time, ie. mapping Caps Lock to Shift+Ctrl+Option+Command or something like that. The solution for a Mac involves Karabiner and Seil for OSX. Like the ideas I had myself, this setup is hardly portable to other computers, unfortunately. Apparently, you can do something similar using AutoHotKey.

Xah Lee has collected some info the topic: Emacs: How to Define Super Hyper Keys, AutoHotkey Tutorial.

– Alex Schroeder 2016-04-12 07:31 UTC

How is it going?

– AlexDaniel 2016-04-24 06:23 UTC

I’ve been using the Atreus with my la-top at home, using the US standard layout. I use the Latin Prefix input method to write German. This also meant that I no longer require Alt/Option as AltGr and so I use Alt as Hyper again, but have no keys bound using Hyper. Boooo.

– Alex Schroeder 2016-04-24 16:37 UTC

Add Comment

2016-04-07 Sexismus

Im Moment kursiert ein Blog Post in der Rollenspielgemeinschaft: Tabletop Gaming has a White Male Terrorism Problem, wo unter anderem auch eine Firma genannt hat, welche die gemachten Anschuldigungen dementiert (besserer Link?). Daraufhin entspannte sich eine Diskussion auf Google+.

Solche Geschichten kursieren schon seit einer geraumen Weile auf dem Internet. Kurz nach “rpg online harassment” gegoogelt und auf den ersten Link geklickt, ein Bericht von 2008, wo jemand fragt, wie man sich den rechtlich zur Wehr setzen könnte. Das zeigt zumindest, dass das Thema weit verbreitet ist.

Wer sich da nun ein wenig umschaut, sieht sich dann bald auch mit Screenshotsammlungen konfrontiert wie hier aus einer Woche mit Anita Sarkeesian auf Twitter.

In den Geschichten vom Latining Tumblr geht es natürlich auch um sexuelle Belästigung in Läden, an Treffen, so dass Screenshots kaum zu machen sind. Ich denke, das war aber auch gar nicht der Punkt. Der Punkt war eher: Wenn man so was sieht, soll man nicht darüber hinweg sehen sondern etwas sagen, wenn etwas nicht in Ordnung geht.

In solchen Situationen werden gerne zwei Fragen diskutiert, die nicht zwingend zusammengehören:

1. Sind die Anschuldigungen wahr?

Wenn konkrete Namen genannt werden, haben die Angegriffenen natürlich ein Recht, sich zu verteidigen. Öffentlich Aussagen bedeutet, dass unser Gesetz natürlich Anwendung findet. Weil ich (ein ganz kleines wenig) auch schon online angegriffen wurde (”dick move” usw.), bin ich eigentlich auch sehr dafür, dass die Leute sich ans Gesetz halten. Das ist schwierig, weil wir uns oft so fühlen, als seien wir im Freundeskreis, am Stammtisch, aber tatsächlich sind wir in der grössten, globalen, allen zugänglichen Zeitung der Welt, dem Internet, und deswegen gelten natürlich alle Regeln bezüglich übler Nachrede, Diffamierung, Ehrverletzung, wirtschaftlicher Schaden, und so weiter.

2. Haben wir ein generelles Problem?

Für Leute, welche ein generelles Problem sehen (wie ich), weil sie dieses Problem mit anderen Anekdoten belegen können (in meinem Fall mit den Belästigungen und Drohungen, denen meine Frau im Alltag ausgesetzt war und ist), ist der konkrete Wahrheitsgehalt der Anschuldigungen natürlich nicht so wichtig. Das generelle Problem bleibt unverändert bestehen, auch wenn sich herausstellt, dass eine, einige, oder alle gemachten Anschuldigungen in einem Blog Post falsch sind. Man kann sogar widerlegte Anschuldigungen zum Anlass für eine Diskussion über ein generelles Problem verwenden (darf aber die widerlegten Anschuldigungen nicht als Argumente verwenden). Und deswegen können beide Seiten gleichzeitig recht haben.

Man findet die konkreten Anschuldigungen möglicherweise unglaubwürdig, und man findet, dass das generelle Problem so oder so weiter bestehen bleibt. Beide Positionen lassen sich vertreten, ohne dass man sich unehrenhafte Motive unterschieben lassen muss. Beide Positionen lassen sich gleichzeitig vertreten. Mache ich genau so.


Comments on 2016-04-07 Sexismus

Für mich die grösste Anekdotensammlung, und auch entsprechend deprimierend: Micro Aggressions.

– Alex Schroeder 2016-04-07 08:59 UTC

Via Martin Ralya [1] gefunden: “… this one took off because it sounded plausible to the people who shared it.” [2]

– Alex Schroeder 2016-04-07 11:39 UTC

Add Comment

2016-04-05 Atreus Ponderings

I’m not happy with the keyboard. I don’t like the layout of the keys when I switch to a US layout, and I like it even less if I keep the default Swiss German layout. Now what should I do?

This is the default, with the operating system expecting a US layout:

+---+---+---+---+---+          +---+---+---+---+---+
|Q @|W @|E  |R {|T }|          |Z  |U &|I *|O (|P #|
|q !|w @|e ↑|r {|t }|          |z ⇞|u 7|i 8|o 9|p *|
+---+---+---+---+---+          +---+---+---+---+---+
|A #|S  |D  |F  |G $|          |H  |J $|K %|L ^|: !|
|a #|s ←|d ↓|f →|g $|          |h ⇟|j 4|k 5|l 6|; +|
+---+---+---+---+---+          +---+---+---+---+---+
|Y {|X }|C (|V )|B &|          |N ~|M !|< @|> #|? ||
|y [|x ]|c (|v )|b &|          |n `|m 1|, 2|. 3|/ \|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |   |   |  |   |   |   |_ >|" )|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

I really need to start thinking about the layout I would like to have instead!

One thing I guess I already know: I don’t need the extra layers of the keyboard. If at all, I think I’ll want to use a compose key. An extra layer to shift in and out of only makes sense if you’ll keep using that layer for a while. To switch between the Swiss German and the US layout without having to tell the operating system, for example. I’m not sure I need that.

Perhaps the best way forward would be to just look at the default layout and eliminate the duplicates and use the newly available keys for the stuff I really need.

I don’t think I need function keys, for example. Well, maybe for Inkscape. :)


Comments on 2016-04-05 Atreus Ponderings

Things to consider:

RET being on a pinky finger is awkward. It’s more important than that. But where else should it go? Perhaps like this? It’s a weird place, but perhaps easier to reach.

|   |   |   |   |"  |_  |
|ALT|SPC|FN |RET|' 0|-  |

The minus key should also get EN DASH and EM DASH. I use them a lot.

SPC should also get NO-BREAK SPACE and maybe THIN SPACE.

All the function keys ought to map to the numbers, I guess. Here’s what it would look like assuming I didn’t move RET.

|U ƒ|I ƒ|O ƒ|
|u 7|i 8|o 9|
|J ƒ|K ƒ|L ƒ|
|j 4|k 5|l 6|
|M ƒ|< ƒ|> ƒ|
|m 1|, 2|. 3|
|   |_  |" ƒ|
|FN |-  |' 0|

We lost % and ^, all the others can be found elsewhere.

And we still have extra bindings we don’t need because there somewhere else, easier to reach. Here’s without the duplicates, to show where we still have space.

+---+---+---+---+---+          +---+---+---+---+---+
|Q  |W  |E  |R  |T  |          |Z  |U ƒ|I ƒ|O ƒ|P #|
|q  |w @|e ↑|r {|t }|          |z ⇞|u 7|i 8|o 9|p *|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G  |          |H  |J ƒ|K ƒ|L ƒ|: !|
|a  |s ←|d ↓|f →|g $|          |h ⇟|j 4|k 5|l 6|; +|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B  |          |N ~|M ƒ|< ƒ|> ƒ|? ||
|y [|x ]|c (|v )|b &|          |n `|m 1|, 2|. 3|/ \|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |   |   |  |   |   |   |_  |" ƒ|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+
  • Home and End are missing and I would like them in a position where shifting them is possible. Perhaps they should go on fn + a and fn + q, or we move @ to fn + a and then Home and End can go on fn + q and fn + w.
  • I need more quotes. “…” and «…» and ‘…’
  • I need the sticky stuff: ¨ ´ ˆ ` ˜

Yikes, we are running out of keys after all! Use a second FN, if that is possible? I still dislike the idea of shifting into different layers.

– Alex Schroeder 2016-04-06 07:43 UTC

Ah, I see a possibility. The repository has a file called keymap_qwerty_2fn.c which advertises itself as «This keymap is based on the default one, but it has a momentary layer2 key on layer 1.» and there is a file called keymap_qwerty_ml2.c which advertises itself as «This keymap allows you to hold down fn+shift to hit keys on L2 momentarily, rather than switching layers in a “sticky” way.» – and it contains the following warning: «There is currently a bug in TMK where it works fine if you release shift first, but if you release fn first, the fn key remains stuck down until you tap fn again to release it.»

Awkward! I still need to figure out whether the thing I had in mind is what keymap_qwerty_ml2.c had in mind? I’m not sure I really understand what the entire keyboard thing is!

Well, here’s what I’m going to try and do next:

  1. install the necessary tools using Homebrew
  2. try and compile it without making any changes
  3. try and compile it using keymap_qwerty_2fn.c

But sadly:

alex@Megabombus:~/src/atreus$ brew install avr-libc
==> ../configure --prefix=/usr/local/Cellar/avr-gcc/4.8.3 --host=avr --build=x86_64-apple-darwin15.4.
==> make install
Error: Empty installation

So, brew update and brew upgrade and try again:

alex@Megabombus:~/src/atreus$ brew install avr-libc
==> Installing avr-libc from larsimmisch/avr
==> Downloading http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.8.1.tar.bz2
Already downloaded: /Library/Caches/Homebrew/avr-libc-1.8.1.tar.bz2
Warning: SHA1 support is deprecated and will be removed in a future version.
Please switch this formula to SHA256.
==> ../configure --prefix=/usr/local/Cellar/avr-gcc/4.8.3 --host=avr --build=x86_64-apple-darwin15.4.
==> make install
Error: Empty installation

Strangely enough, I was able to compile the firmware even though the above installation failed.

alex@Megabombus:~/src/atreus/tmk_keyboard/keyboard/atreus (atreus=)$ OPT_DEFS=-DPCBDOWN make buildKEYMAP=qwerty
Creating Symbol Table: atreus.sym
avr-nm -n atreus.elf > atreus.sym
alex@Megabombus:~/src/atreus/tmk_keyboard/keyboard/atreus (atreus=)$ ls -l *.hex
-rw-r--r--+ 1 alex staff 42015 Apr  8 13:52 atreus.hex

(Remember, I have the older keyboard and have to use PCBDOWN.)

Then hitting Fn + ESC + B and running ls for two or three seconds until the cu.usbmodem shows up:

alex@Megabombus:~/src/atreus/tmk_keyboard/keyboard/atreus (atreus=)$ ls /dev/cu.usbmodem*

OK, I’m ready!

Hitting Fn + ESC + B and running the following:

alex@Megabombus:~/src/atreus/tmk_keyboard/keyboard/atreus (atreus=)$ USB=/dev/cu.usbmodem641 make upload 
avrdude done.  Thank you.

– Alex Schroeder 2016-04-08 11:03 UTC

OK, now I need to figure out what I want to do when a Swiss German keyboard layout is being used by the Operating System. I somehow expected there to be a way for me to specify each key, and the various modifiers, and some sort of Unicode character. But that’s not how it works, I’m afraid. OK, so now I’m off to read keycode.txt and keymap.md.

Obviously, the driver only tells the operating system what key was pressed. The operating system then consults it’s layout table and figures out what the user intended based on the active layout that’s where the Unicode characters show up. How to make a custom keyboard layout in MacOS? If I want to change the fancy stuff – ie. if I’m happy with where the usual characters are on my keyboard (QWERTZ) and all I want to change is what happens when Alt + Q is pressed (right now: “œ”), then I need to change things at the operating system level.

I need to figure out where the dividing line between Firmware and Operating System is. Clearly, most things can be done using both. I’m reading the tutorial for Ukulele, now.

– Alex Schroeder 2016-04-08 12:14 UTC

  • The best position for Home and End is probably on W and R. Feels very natural. I had other variants but Home & End above ← → is just best.
  • You’ve noticed correctly that Home, End, ←↓→↑, RET and all other keys like that occupy both fn+ and fn+shift+ layers. Indeed, most of these are very commonly used with shift.
  • 0 and 1 are one of the most common numbers. Current positions don’t make enough sense (unless you plan to lift your hand every time you want to type one or two numbers, hm…). Such placement is great for cashiers but probably not for others.
  • What about Ctrl+Backspace? Is it easy to press it?
  • ƒ keys occupy most of the useful space. Consider moving them. For example, [ is pressed with a left pinky reaching down (the most uncomfortable key out of all, assuming you are right handed), but ƒ6 is on the home row of the right hand and is not pressed by a pinky. Do you use ƒ6 more often than you use [ ? What about | # and others (especially considering that the same hand has to hold fn)?
  • Depending on your usage of F keys you may also move them to a completely separate layer. It will make it harder to press F keys but will leave much more room for other more common characters (unless you use F keys very frequently). Believe it or not, but I only use Alt+F4 to close things (so commonly that I will probably get a dedicated key for that near to the home row) and F12 to open developer tools in browsers. That’s it…
  • What do you press more often: ESC or `? Having ESC on fn+something is not too bad, as long as you can press it with one hand. Which brings us to the next point…
  • Consider duplicating FN on the left side of the thumb layer. Perhaps it will make things go more smoothly.
  • fn + SPC can probably be no break space, if only fn has an alternative for the left hand.

And don’t be afraid to put stuff on fn+…. After all, such combinations are as easy as pressing shift+letter, and we can probably agree that it is not hard at all. For example, you can have fn+g for TAB, with a high chance that it will end up being more comfortable than your current position for TAB (again, given that there is fn for your left hand).

After all, you can just try adapting my layout that I’ve mentioned a couple of times now (last time mentioned on Comments on 2016-03-23 Atreus) :) Ignore Dvorak (it’s something that I’ve just kept as is), just assume that the letters are in a qwerty arrangement.

Here’s a good start:

Q ☓
q ☓
W ⇤
w ⇤
E ↑
e ↑
R ⇥
r ⇥
T ↹
t ↹
Z :
U -
u ;
I }
i {
O ]
o [
P 」
p 「
A ⏎
a ⏎
S ←
s ←
D ↓
d ↓
F →
f →
G ⌫
g ⌫
H *
h $
J !
j ?
K )
k (
L +
l "
– @
' =
Y �
y �
X �
x �
C �
c �
V �
v �
B ⌦
b ⌦
N ^
n &
M `
m |
~ %
, _
… ”
. “
\ ’
/ ‘
alt ␣ ␠
␣ ␠
fn fn ctl

☓ is ESC, ␣ is space, ␠ is no break space, other characters should be obvious. Also notice the difference between - and –.

Sure, that’s just a quick rearrangement to make it work on top of qwertz, it needs much more thought put into it. However, even at this point it looks very promising.

Personally I use:

␣ ␠
␣ ␣

Instead of:

␣ ␠
␣ ␠

The reason is that I don’t want to type no break space accidentally. But fn+shift+space is a bit too awkward (which is probably OK since I don’t use no break space too often, just about two or three times per day).

I’ve left . and , on their original places. This is very bad… but what else can you do on qwerty-like layouts?

fn+backspace takes some time to get used to. That’s not a good sign, so perhaps you should keep it on one of the thumb buttons (I don’t have so many of those so I can’t really tell what would be the best way). Also you probably want to keep two fn’s apart. On my keyboard that’s one key that can be pressed by any of the thumbs, but you don’t have such limitation, so you’re better off with something similar but different.

Anyway, hope you’ll find something useful in this mini “blog post” :)

– AlexDaniel 2016-04-08 18:03 UTC

Definitely. I was wondering about those function keys. On a Mac, they are so hard to hot that I can never remember how to do it and need to fumble around whenever I need to. Luckily, all the tools I use on my Windows machine seem to handle C-w and C-q to close windows or quit applications.

I actually use ESC quite a lot because some Emacs key bindings are a bit tricky to get right, depending on how things are set up. On my Mac, the command key acts as Meta within Emacs, and thus Cmd-q refills paragraphs and Cmd-w acts on words. But when I’m using a terminal and ssh to work elsewhere, Cmd-q and Cmd-w will quit applications and close Windows. That’s my fingers often use ESC.

Your note about not wanting to accidentally add non-breaking spaces is apt. I probably add many unnecessary non-breaking spaces all over the place.

I definitely like your idea of putting matching closing parenthesis and quotes on the same key, but shifted. The current layout has a ton of free bindings above the parenthesis, which is bad, and the idea is not new. On my Mac, that’s exact how “…” and «…» and ‘…’ work.

– Alex Schroeder 2016-04-09 09:35 UTC

I think I’m running out of space. Numbers and function keys on top:

+---+---+---+---+---+          +---+---+---+---+---+
|Q ƒ|W ƒ|E ƒ|R ƒ|T ƒ|          |Z ƒ|U ƒ|I ƒ|O ƒ|P ƒ|
|q 1|w 2|e 3|r 4|t 5|          |z 6|u 7|i 8|o 9|p 0|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G  |          |H }|J )|K ]|L >|* ?|
|a ⇞|s ⇤|d ↑|f ⇥|g  |          |h {|j (|k [|l <|+ !|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B  |          |N ^|M 」|; »|:  |_ —|
|y ⇟|x ←|c ↓|v →|b  |          |n ~|m 「|, «|. …|- –|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |DEL|   |  |   |   |   |´ ’|` ”|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

Stuff I'd like the see:
., ;: !? +- _= */|\&%$@#
() [] {} <> «» ‘’ “” 「」
'" ´ ˆ ` ˜

Truly, those function keys need to go to a separate layer. Now, if I keep the numbers in a row, one wonders what I would put on top of the numbers. A random array of ASCII punctuation? Better not. I could aim for the following: when pressing Fn, I get the numbers above and then I should be able to find all the math operations without letting go of Fn (+ - * / =). So Shift+Fn still remains open… thus, for all those parenthesis, perhaps? I see you have ( ) on the home row. I don’t know…

– Alex Schroeder 2016-04-09 11:41 UTC

Numbers and math on Fn, no function keys, minus key appears twice (used both as hypen and minus). I would have liked to put < > « » all on the same key, but < > just don’t seem important enough. On the Swiss German keyboard we get < > ≤ ≥. Interesting, but useless, I fear.

+---+---+---+---+---+          +---+---+---+---+---+
|Q $|W <|E >|R (|T )|          |Z {|U }|I [|O ]|P €|
|q 1|w 2|e 3|r 4|t 5|          |z 6|u 7|i 8|o 9|p 0|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G &|          |H ˉ|J  |K  |L ×|? \|
|a ⇞|s ⇤|d ↑|f ⇥|g @|          |h ¨|j +|k -|l *|! /|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B %|          |N ^|M 」|; »|: ||_ —|
|y ⇟|x ←|c ↓|v →|b #|          |n ~|m 「|, «|. …|- –|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |DEL|   |  |   |   |   |´ ’|` ”|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

Stuff I'd like the see:
., ;: !? +- _= */ |\&%$@#
() [] {} <> «» ‘’ “” 「」
'" ¨ ´ ˆ ` ˜

– Alex Schroeder 2016-04-09 12:49 UTC

By the way, one idea about the numbers. On original dvorak layout, these were mangled: https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/KB_DSKtypewriter.svg/900px-KB_DSKtypewriter.svg.png

This makes sense… well, kinda, sorta. It is also interesting that even and odd numbers are separated. I haven’t tried this yet, but somehow I doubt that I will like it. But I still don’t like the fact that 0 1 and 9 are in very uncomfortable positions. So, what about this?

6 7 8 9 0 1 2 3 4 5

This is probably easier to learn, yet it leaves more common digits on places that are easier to reach. Perhaps it’s not worth doing given that your digits are right above your home row, but still something to consider.

Thumbs up for underscore on shift + -. That’s something I forgot about when I was converting the layout. WILL_BE_HANDY_SOMETIMES!

Here are more unicode characters to consider. You don’t really have to put them on your layout, compose key works too. But just make sure that you have a way of entering these (I’ve never thought that I would use these so frequently):

  • ←↑↓→ (at least these arrows)
  • °
  • ¹²³⁴⁵⁶⁷⁸⁹⁰ (could be done with a dead key. Also consider subscripts)

And that’s it, you already have everything else.

The way your layout looks now is pretty good, but here are some other things that I’ve noticed:

  • ! is easier to press than ?. Are you sure that you yell more frequently than you question things?
  • If you continue writing in perl (or any other language where $ is used commonly), you will probably hate yourself for doing that with $. Perhaps consider this:
|G @|
|g $|

And & on the current position of $.

  • ' " ‘ ’ “ ” don’t look very good. Yeah, too many characters to squeeze into your home row, but at least try to do something. Don’t be afraid to keep similar symbols apart, your brain will figure it out eventually. Perhaps replace + and - with ' "? It’s hard to tell since you probably have this kind of home row for a reason, but these quotes look like a weak point right now.
  • One of the ideas of dvorak layout is that it is easier to reach up than to curl your fingers down. This is not always true, it depends on the hands, the keyboard and many other things, but in my case that’s exactly how it is. So, maybe it would make sense to change QWERT row with YXCVB ? This way you get numbers on slightly less pleasant positions (which is fine, but depends on how many numbers you enter per day), but gives everything else a bit better placement. Dunno, at least consider it as an option.
  • I am a bit skeptical about the placement of arrow keys. Perhaps it is ok, the only way to know is probably to try it. But once upon a time I had arrows on my layout shifted 1 key to the side. This quickly resulted in an interesting problem. Since one of my hands now had two resting positions (one for typing, another for arrow keys. Sometimes it makes sense to leave your fingers on arrows), at some point I started getting confused. That is, sometimes I would start typing while my hand was shifted to the side, ugh! And this lasted for two or three months, until I actually adapted to the thing… Not sure if you will stumble upon the same problem with your placement of arrow keys, but at least pay attention if that happens too often.
  • Your layout is missing =
  • Also think about different things that you could type together. For example: “let’s say that you press =, then what? Then you will probably press Space, but if you have to hold shift+fn to type = then you may eventually enter non-breaking space, ugh! But Space is pressed with the same thumb as Fn, so there’s probably no problem with shift+space?” – that kind of thing. Just try to think about all awkward combinations before you actually learn the layout (though once you learn it, you’ll probably stumble upon those yourself). Other things to keep in mind: ); and ). (unless you rely on closing the parens automatically), { Enter, ; Enter, . Enter and so on and so forth. Sometimes these are pretty hard to fix (and I have some problems with my layout), but it does not hurt if you think about this beforehand.

– AlexDaniel 2016-04-09 17:25 UTC

Well, on the Swiss German Layout, both ! and ? are shifted keys, so I didn’t think too much about it. When I write text, I feel like I use more exclamation marks than question marks.

Actually, I should be able to simply count occurrences on this blog. For science! [1] Strangely enough, it’s a close call:

alex@kallobombus:~/alexschroeder/raw$ grep -ro '!' . | wc -l
alex@kallobombus:~/alexschroeder/raw$ grep -ro '?' . | wc -l

You are right about $. Perhaps I was hypnotized by the symmetry with €. I also thought about putting ^ close to $. But then again, I thought that ^ was an accent, right? And then again, I rarely write French and Portuguese, so I could do without ^ and ` – ´ is common for names such as André. Perhaps I can think of something.

As for the numbers, I don’t type numbers all that often and I usually need to pause and think about numbers when I write, so I don’t think it’s worth the relearning. Do you really think that the numbers 0 and 1 are more important?

alex@kallobombus:~/alexschroeder/raw$ for i in 1 2 3 4 5 6 7 8 9 0; do grep -ro "$i" . | wc -l; done

Oops, looks like you’re right! I guess it’s all those round numbers that get zeroes added at the end. Hm. I hadn’t thought of that. Perhaps 6 7 8 9 0 1 2 3 4 5 is in fact preferable.

What I do know, however, is that I almost never use subscript and superscript. When I do, markup will do – or C-x 8 RET in Emacs. :)

Well, now that I think about it, what happens when I hit Shift + Fn. Can I move to a different layer? I guess that’s the bug they mentioned. If I could without the bug, then putting the arrows above the movement keys and the subscripts and superscripts above the numbers would be very cool.

Yikes, you are right about =. Added to my “calculator layer”.

The reason I like @ on Fn + g is that on the Swiss German layout, @ is on AltGr + g.

You are right about the combinations. I wonder whether I could feed my texts to a program that would figure out the digraphs I use most of the time. What I do know is that putting the closing thing of something on the shifted something or next to something. That works once you remembered how to open something, you’ll remember how to close it. Which is why I don’t like putting the parenthesis on Shift + Fn. Gaah.

I think I really need to start making some changes and do something. Right now the keyboard is always plugged in and I never use it. Bad!

+---+---+---+---+---+          +---+---+---+---+---+
|Q  |W <|E >|R (|T )|          |Z {|U }|I [|O ]|P €|
|q 1|w 2|e 3|r 4|t 5|          |z 6|u 7|i 8|o 9|p 0|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G $|          |H ^|J &|K =|L ×|? \|
|a ⇞|s ⇤|d ↑|f ⇥|g @|          |h =|j +|k -|l *|! /|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B %|          |N ~|M 」|; »|: ||_ —|
|y ⇟|x ←|c ↓|v →|b #|          |n ¨|m 「|, «|. …|- –|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |DEL|   |  |   |   |   |´ ’|` ”|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

Another thing to consider is that a Mac laptop keyboard has no home end page up and page down: cmd + up and fn + left is beginning of the document; Cmd + down and fn + right is end of the document; cmd + left is home, cmd + right is end; fn + up is page up, fn + down is page down. It’s confusing but it’s possible, I guess?

– Alex Schroeder 2016-04-09 19:53 UTC

And now you have two = ? :) By the way, some degree of redundancy is OK, especially if it is about modifiers.

“I think I really need to start making some changes and do something.”

Take your time! I’ve relearned three times before I got to my final layout, and I’m pretty sure that I am going to make more changes in a year or so.

Also, it was totally worth it. I couldn’t be happier right now.

Hmmm, looking at it right now, I’d say that it would make sense to switch ! with '. Apostrophe is often encountered in English (it’s great to type ' without getting distracted by modifiers), and is even more common in programming languages, so I guess that would make sense. Again, check out your stats.

「」 are cool and I use them a lot, but not more often than “”, so perhaps switching those is a good idea?

And while you are looking at your stats, what’s more common 4 + 5 or ( + )? Or what about the whole <>(){}[]€ row versus 1234567890 ?

– AlexDaniel 2016-04-09 20:23 UTC

Also, check out this: http://xahlee.info/comp/computer_language_char_distribution.html

– AlexDaniel 2016-04-09 20:25 UTC

OK, so for a moment I thought that I didn’t need to change the firmware to switch my keyboard layout. I started going through the keyboard and realized that the Fn key on my keyboard doesn’t register for Ukulele, the keyboard layout editing program. Hm.

– Alex Schroeder 2016-04-10 08:20 UTC

Getting into the flow! At the moment I’m trying to make changes to get some idea of what I need to do using firmware updates and what I need to do on the operating system side (all the non-ASCII characters, I guess).

cd src/atreus/tmk_keyboard/keyboard/atreus/
USB=/dev/cu.usbmodem641 make upload

And then press Fn + Esc + B for a second.

The layout I want, without a duplication of the equal sign:

+---+---+---+---+---+          +---+---+---+---+---+
|Q  |W <|E >|R (|T )|          |Z {|U }|I [|O ]|P €|
|q 1|w 2|e 3|r 4|t 5|          |z 6|u 7|i 8|o 9|p 0|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G $|          |H ^|J &|K  |L ×|? \|
|a ⇞|s ⇤|d ↑|f ⇥|g @|          |h =|j +|k -|l *|! /|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B %|          |N ~|M 」|; »|: ||_ —|
|y ⇟|x ←|c ↓|v →|b #|          |n ¨|m 「|, «|. …|- –|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |DEL|   |  |   |   |   |´ ’|` ”|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

What I have right now, with the operating system set to a Swiss German layout:

+---+---+---+---+---+          +---+---+---+---+---+
|Q &|W /|E (|R )|T =|          |Z +|U "|I *|O ç|P %|
|q 1|w 2|e 3|r 4|t 5|          |z 6|u 7|i 8|o 9|p 0|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G "|          |H `|J `|K ?|L (|é _|
|a ⇞|s ⇤|d ↑|f ⇥|g "|          |h ^|j `|k '|l (|ö -|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B *|          |N >|M +|; "|: *|_ £|
|y ⇟|x ←|c ↓|v →|b *|          |n <|m 1|, 2|. 3|- $|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |BCK|   |  |   |   |   |? à|à à|RET|
+---+---+---+---+---+---+  +---+---+---+---+---+---+

So, slowly getting there… :)

As for your points, you are definitely right when it comes to quotes:

alex@kallobombus:~/alexschroeder/raw$ for i in '!' "'" '\"' '\,' '\.' '\-'; do grep -ro "$i" . | wc -l; done
9444     # !
27621    # '
20271    # "
76731    # ,
146628   # .
91092    # -

I guess I just liked the symmetry of keeping single and double quotes next to each other. But these numbers beg me to rearrange the keys. Home row is good, and no pinky is good, and we want . - , ' " ! – and maybe a mnemonic effect or two. Must think some more. But right now the sun is shining and I need to get out. :)

– Alex Schroeder 2016-04-10 09:08 UTC

Actually, the correct invocation seems to be:

make clean
OPT_DEFS=-DPCBDOWN KEYMAP=alex USB=/dev/cu.usbmodem641 make upload

And then pressing the magic combo Fn + ESC + b.

OK, refined what I want with the dot on the home row and minus going one up.

+---+---+---+---+---+          +---+---+---+---+---+
|Q  |W <|E >|R (|T )|          |Z {|U }|I [|O ]|P €|
|q 1|w 2|e 3|r 4|t 5|          |z 6|u 7|i 8|o 9|p 0|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G $|          |H ^|J &|K  |L ×|: ||
|a ⇞|s ⇤|d ↑|f ⇥|g @|          |h =|j +|k -|l *|. …|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B %|          |N ~|M 」|_ —|´ ’|` ”|
|y ⇟|x ←|c ↓|v →|b #|          |n ¨|m 「|- –|' ‘|" “|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |DEL|   |  |   |   |   |? \|; »|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

What I have right now, with the operating system set to a Swiss German layout:

+---+---+---+---+---+          +---+---+---+---+---+
|Q &|W /|E (|R )|T =|          |Z +|U "|I *|O ç|P %|
|q 6|w 7|e 8|r 9|t 0|          |z 1|u 2|i 3|o 4|p 5|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G ,|          |H `|J `|K ?|L (|é ’|
|a ⇞|s ⇤|d ↑|f ⇥|g @|          |h ^|j `|k '|l (|ö ‘|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B *|          |N >|M +|? Æ|à ÷|à ”|
|y ⇟|x ←|c ↓|v →|b *|          |n <|m 1|' æ|ä …|à “|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |BCK|   |  |   |   |   |_ à|; à|RET|
+---+---+---+---+---+---+  +---+---+---+---+---+---+

Slowly… I guess?

– Alex Schroeder 2016-04-10 15:16 UTC

I really want to have a firmware where I can do the following two things in addition to what I currently know how to do:

  1. provide a Unicode character to emit instead of a key code that gets retranslated by the operating system
  2. allows me to determine what shifted characters emit


– Alex Schroeder 2016-04-10 17:20 UTC

OK, using Ukulele I got basically the following:

+---+---+---+---+---+          +---+---+---+---+---+
|Q  |W <|E >|R (|T )|          |Z {|U }|I [|O ]|P €|
|q 6|w 7|e 8|r 9|t 0|          |z 1|u 2|i 3|o 4|p 5|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G $|          |H ^|J &|K  |L ×|: ||
|a  |s  |d  |f  |g @|          |h =|j +|k -|l *|. …|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B %|          |N ~|M 」|_ —|´ ’|` ”|
|y  |x  |c  |v  |b #|          |n ¨|m 「|- –|' ‘|" “|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |DEL|   |  |   |   |   |? \|; »|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

I used just Ukulele to configure this layout. Thus it does not use the Fn key at all! All the interesting bindings are in fact on the Alt key!

This also means no weird firmware on the keyboard and the default bindings on Fn, the important ones being these:

+---+---+---+---+---+          +---+---+---+---+---+
|   |   |   |   |   |          |   |   |   |   |   |
|   |   |  ↑|   |   |          |  ⇞|   |   |   |   |
+---+---+---+---+---+          +---+---+---+---+---+
|   |   |   |   |   |          |   |   |   |   |   |
|   |  ←|  ↓|  →|   |          |  ⇟|   |   |   |   |
+---+---+---+---+---+          +---+---+---+---+---+
|   |   |   |   |   |          |   |   |   |   |   |
|   |   |   |   |   |          |   |   |   |   |   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |   |   |  |   |   |   |   |   |   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

– Alex Schroeder 2016-04-10 18:22 UTC

And I already switched the keys for comma and exclamation point, as the one that is closer to the center is easy to hit with the thumb. :)

+---+---+---+---+---+          +---+---+---+---+---+
|Q  |W <|E >|R (|T )|          |Z {|U }|I [|O ]|P €|
|q 6|w 7|e 8|r 9|t 0|          |z 1|u 2|i 3|o 4|p 5|
+---+---+---+---+---+          +---+---+---+---+---+
|A  |S  |D  |F  |G $|          |H ^|J &|K  |L ×|: ||
|a  |s  |d  |f  |g @|          |h =|j +|k -|l *|. …|
+---+---+---+---+---+          +---+---+---+---+---+
|Y  |X  |C  |V  |B %|          |N ~|M 」|_ —|´ ’|` ”|
|y  |x  |c  |v  |b #|          |n ¨|m 「|- –|' ‘|" “|
+---+---+---+---+---+---+  +---+---+---+---+---+---+
|   |   |   |   |DEL|   |  |   |   |   |; »|? \|   |
+---+---+---+---+---+---+  +---+---+---+---+---+---+

– Alex Schroeder 2016-04-10 19:42 UTC

Tomorrow: Remapping the keyboard for the Windows machine in the office. I hope to find something as easy to use as Ukulele for OSX.

– Alex Schroeder 2016-04-10 20:53 UTC

Downloading Microsoft Keyboard Layout Creator 1.4.

– Alex Schroeder 2016-04-11 07:03 UTC

OK, I think it mostly worked. The only problem I have is that the Microsoft thing thinks AltGr is Alt+Ctrl and so I have to press both modifiers to reach all the extra key bindings. We’ll see how annoying this turns out to be.

– Alex Schroeder 2016-04-11 07:53 UTC

Add Comment



Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. See Info for text formatting rules. You can edit this page if you need to fix typos. You can subscribe to updates by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.

Referrers: (think) ... in der Mitte der ZauberFerne The City of Iron Planet Emacsen Gothridge Manor Dreams of Mythic Fantasy