J'ai récemment acheté un clavier mécanique. Je préfère taper sur ce genre de clavier car je trouve le touché plus agréable. J'ai appris à taper sur des vieux claviers mécaniques, ainsi le côté nostalgique marche aussi. Enfin, les claviers mécaniques sont plus robustes, plus précis à la frappe et plus facile à entretenir car on peut facilement changer les touches.
Cela permet aussi de faire du "tuning" de clavier : on peut changer chaque touche et ainsi personnaliser à l'extrême (ce que je déconseille afin d'éviter le syndrome arbre de noël).
Ainsi, j'ai acheté un clavier mécanique (un WASD v2) mais il ne marche pas complètement sur Mac sans quelques manipulations.
Print Screen, Home, End, PageUp, PageDown
Print Screen
Le clavier que j'ai choisi est un TenKeyLess (TKL) : c’est-à-dire que le pavé numérique est absent, permettant au clavier d'être plus petit. Sous macOS, un certain nombre de touches ne fonctionnent pas : celles au-dessus des flèches.
Voici les manipulations à effectuer pour les faire fonctionner avec un comportement similaire à Windows.
Première chose à faire : rendre la touche Print Screen effective afin qu'elle permette de faire des impressions d'écran. Pour cela, installer Karabiner Elements. Ensuite, associer la touche Print Screen avec la touche F13 qui n'est pas utilisée sous Mac.
Ensuite, aller dans Préférences Systèmes, Clavier, Raccourcis, sur la partie gauche sélectionnez "Captures d'écran" et sur la partie droite cliquez sur "Enregistrer l'image de l'écran dans un fichier". Et saisissez la touche Print Screen de votre clavier (qui apparaît normalement comme F13). Vous pouvez, si vous le souhaitez, utiliser un autre raccourci et changer les raccourcis pour les autres impressions d'écran.
Petite aparté : par défaut, voici les raccourcis sous macOS pour faire des impressions d'écran.
- Command+Shift+3 : impression d'écran enregistré sur le bureau
- Command+Shift+4 : permet de sélectionner l'espace à photographier
- Command+Shift+4 et ensuite barre espace et cliquer sur une fenêtre : impression d'écran de la fenêtre
Home, End, PageUp, PageDown
Pour ces touches, il faut "remapper" les touches afin qu'elles se comportent comme sous Windows.
Pour cela, il va falloir modifier des fichiers de configuration. Si vous n'êtes pas à l'aise avec ce genre de manipulation, je vous déconseille d'aller plus loin.
Aller dans le dossier ~/Library/KeyBindings, si vous le ne trouvez pas il faut le créer. Ensuite, soit modifier le fichier DefaultKeyBinding.dict ou alors créer-le s'il n'y en a pas.
Mettez ces quelques lignes à l'intérieur :
{ "\UF729" = moveToBeginningOfParagraph:; "\UF72B" = moveToEndOfParagraph:; "\UF72C" = pageUp:; "\UF72D" = pageDown:; }
Vérifiez que le logiciel utilisé pour modifier/créer le fichier DefaultKeyBinding.dict n'a pas ajouté l'extension txt au fichier (c'est malheureusement le cas de TextEdit, privilégier un autre éditeur de texte, comme par exemple Sublime Text).
Redémarrer pour que les changements soient effectifs.
Vous pouvez faire beaucoup de chose grâce à ce fichier. Voici la syntax :
^ : Ctrl
$ : Shift
~ : Option (Alt)
@ : Command (Apple)
# : Pavé Numérique
Liste des touches :
Flèche Haut : \UF700
Flèche Bas : \UF701
Flèche Gauche : \UF702
Flèche Droite : \UF703
Insert : \UF727
Delete : \UF728
Home : \UF729
End : \UF72B
Break : \UF732
SysReq : \UF731
Help : \UF746
Backspace : \U0008
Tab : \U0009
Escape : \U001B
Enter : \U000A
Page Up : \UF72C
Page Down : \UF72D
Print Screen : \UF72E
Scroll Lock : \UF72F
Pause: \UF730
Menu: \UF735
F1: \UF704
F2: \UF705
F3: \UF706
etc.
Ainsi, si vous ajoutez la ligne suivante dans votre fichier DefaultKeyBinding.dict :
"@\UF702" = "moveWordBackward:";
Cela vous permettra en tapant Cmd et flêche gauche en même temps de se déplacer d'un mot vers la gauche (ce comportement normalement est attribué à Alt au lieu de Cmd).
Liste des actions possibles :
alignCenter;
alignJustified;
alignLeft;
alignRight;
breakUndoCoalescing;
cancelOperation;
capitalizeWord;
center;
centerSelectionInVisibleArea;
changeCaseOfLetter;
checkSpelling;
clearRecentDocuments;
complete;
copy;
copyFont;
copyRuler;
cut;
delete;
deleteBackward;
deleteBackwardByDecomposingPreviousCharacter;
deleteForward;
deleteToBeginningOfLine;
deleteToBeginningOfParagraph;
deleteToEndOfLine;
deleteToEndOfParagraph;
deleteToMark;
deleteWordBackward;
deleteWordForward;
hide;
ignoreSpelling;
indent;
insertBacktab;
insertContainerBreak;
insertLineBreak;
insertNewline;
insertNewlineIgnoringFieldEditor;
insertParagraphSeparator;
insertTab;
insertTabIgnoringFieldEditor;
insertText;
loosenKerning;
lowerBaseline;
lowercaseWord;
moveBackward;
moveBackwardAndModifySelection;
moveDown;
moveDownAndModifySelection;
moveForward;
moveForwardAndModifySelection;
moveLeft;
moveLeftAndModifySelection;
moveRight;
moveRightAndModifySelection;
moveToBeginningOfDocument;
moveToBeginningOfDocumentAndModifySelection;
moveToBeginningOfLine;
moveToBeginningOfLineAndModifySelection;
moveToBeginningOfParagraph;
moveToEndOfDocument;
moveToEndOfDocumentAndModifySelection;
moveToEndOfLineAndModifySelection;
moveToEndOfLine;
moveToEndOfParagraph;
moveUp;
moveUpAndModifySelection;
moveWordBackward;
moveWordBackwardAndModifySelection;
moveWordForward;
moveWordForwardAndModifySelection;
moveWordLeft;
moveWordLeftAndModifySelection;
moveWordRight;
moveWordRightAndModifySelection;
newDocument;
openDocument;
orderBack;
orderFront;
orderFrontLinkPanel;
orderFrontListPanel;
orderFrontSpacingPanel;
orderFrontTablePanel;
outline;
pageDown;
pageUp;
paste;
pasteAsPlainText;
pasteAsRichText;
pasteFont;
pasteRuler;
performClose;
performMiniaturize;
performZoom;
printDocument;
raiseBaseline;
revertDocumentToSaved;
runPageLayout;
saveAllDocuments;
saveDocument;
saveDocumentAs;
saveDocumentTo;
scrollLineDown;
scrollLineUp;
scrollPageDown;
scrollPageUp;
selectAll;
selectLine;
selectParagraph;
selectToMark;
selectWord;
setMark;
showContextHelp;
showGuessPanel;
startSpeaking;
stopSpeaking;
subscript;
superscript;
swapWithMark;
terminate;
tightenKerning;
toggleBaseWritingDirection;
toggleContinuousSpellChecking;
toggleRuler;
transpose;
transposeWords;
turnOffKerning;
turnOffLigatures;
underline;
unscript;
uppercaseWord;
useAllLigatures;
useStandardKerning;
useStandardLigatures;
yank;