# Tastenkombinationen und Neo

Die Tastatur wird nicht nur für die Eingabe von Texten, sondern auch zum Aufrufen diversester Funktionen von Computerprogrammen benutzt.
Der Wechsel zu Neo erfordert also auch hier eine gewisse Ungewöhnung oder legt sogar eine Modifikation der Tastenkombinationen nahe.

## Layoutunabhängige Tastenkombinationen
Sobald man immer mal zwischen Tastaturlayouts wechseln muss, kennt man das Problem. Man markiert etwas, will es mit Strg+c kopieren und auf einmal passiert etwas völlig unvorhergesehenes, man erinnert sich, dass man an einem fremden Rechner sitzt und sucht das z für Strg+z (Rückgängig).­­
Abhilfe dagegen schafft, wenn man sich manche Sachen layoutunabhängig angewöhnt. Ob die Tastenkombination dann noch intuitiv ist, muss jeder selbst entscheiden, allerdings schadet es nie, eine Tastenkombination mehr zu kennen.
Diese Tastenkombinationen sind auch für Neo-basierte Belegungen wie ADnW, die `C`, `X` und `V` nicht auf der linken Seite haben, sehr nützlich.

|**gewohntes Kürzel**|**unabhängiges Kürzel**|**Beschreibung**|**Bemerkung**|
| :--- | :--- | :--- | :--- |
|Strg + c|Strg + Einfg|kopieren|
|Strg + v|Shift + Einfg|einfügen|geht auch auf der Konsole|
|Strg + x|Shift + Entf|ausschneiden|
|Strg + z|Alt + Rücktaste|Rückgängig	geht in Linux nur in manchen Programmen (z. B. Openoffice)|

## Neo und Vim

Auch wenn `h`, `j`, `k` und `l` nicht mehr auf der Grundlinie sind, eignet sich Neo hervorragend
für die Verwendung mit vim. Man benutzt stattdessen einfach das Steuerkreuz auf Ebene 4.
Wir erachten eine Anpassung der Konfiguration, um `HJKL` oder ähnliche Tasten entsprechend ummappen für weder wünschenswert noch notwendig.
Nahezu alle anderen Mappings orientieren sich ohnehin nur an dem Namen ihrer Funktion und nicht der Position der Tasten beim Qwerty-Layout.
Es gibt [hier](http://www.naleid.com/2010/10/04/vim-movement-shortcuts-wallpaper.html) ein nettes Cheatsheet zur Navigation in vim.
Ansonsten wendet man sich an den vim-Experten seines Vertrauens (z.B. #vim in freenode).

## Fensterverwalter

Die Tastenkombinationen des Fensterverwalters sind meist wie eine zusätzliche Ebene – als Modifier wird häufig die Fenster-Taste genutzt.
Hier bietet es sich sehr an, eine Konfiguration zu erstellen, die die Navigationstasten zusammenhält, da die Pfeiltasten auf der vierten Ebene meist nicht genutzt werden können.

Der Fensterverwalter i3 besitzt eine ausgereifte, leicht merkbare Tastensteuerung für QWERTY (vgl. [hier](http://i3wm.org/docs/userguide.html#_default_keybindings)), die
bei der Installation durch den [i3-config-wizard](http://build.i3wm.org/docs/i3-config-wizard.html) automatisch an die aktuell eingestellte Tastaturbelegung angepasst werden kann (d.h. die Funktionen befinden sich auf denselben Positionen).

## Firefox

Eigentlich macht Neo mit Firefox keine Probleme.
Bei Addons kann das aber vorkommen.

### Tridactyl
Tridactyl ist ein sehr fortschrittliches Addon zur Tastatursteuerung von Firefox, das Pentadacytl, Vimperator, VimFX und andere nicht weitere nicht mehr weiterentwickelte (und mit aktuellem Firefox inkompatible) Addons ersetzt
Firefox wird weitreichend geändert, z.B. bei Teilen der Benutzeroberfläche wie Menüs, Buttons und Extrakomponenten zum anonymen Surfen.

#### Hintchars
Tridactyl benutzt standardmäßig Hintchars, die für qwerty-Layouts optimiert sind.
  
Lösung:
```
:set hintchars enaritud
:mkp!
```
Als Bone-Benutzer möchte man z.B. eher `enirtsobah` nutzen.

#### Belegungsvorschläge
In allen Neo2-Varianten (einschließlich Cry, Bone, AdNW) liegt „e“ auf einer guten Position auf der Grundlinie.  
Da in Tridactyl dieser Buchstabe nicht belegt ist, bietet es sich an, das Tastenkürzel zu setzen.  
Hier wird beispielsweise f (für Hintkeys) auf e gelegt:

```
:bind e hint
:bind E hint -b
:mkt!
```

#### Mac OS: Dritte Ebene
Die dritte Ebene wird von Firefox scheinbar so interpretiert, als werde zusätzlich *Alt* gedrückt. Dieses Problem betrifft nicht nur Vimperator/Pentadactyl, stört hier aber besonders (wegen *:*, */*). 'LarsHuluk' schlägt [folgende Lösung](https://git.neo-layout.org/neo/neo-layout/issues/172#issuecomment-1392) vor:

```
:command NeoNRemap -nargs=1 :nmap <A-<args>> <args>
:NeoNRemap :
:NeoNRemap @
:NeoNRemap /
usw.
```
