5 votes

Comment faire en sorte que le [retour] se comporte comme un [retour] dans Messages, Skype

J'utilise Messages sur les deux Macs et iPhones et je tape beaucoup d'e-mails. Dans tous ces environnements, j'ai l'habitude du comportement normal de l'interface utilisateur. return clé.

Sur Messages cette clé ne se comporte pas comme une clé de retour, ce qui entraîne l'envoi prématuré de messages tronqués.

J'ai trouvé cette question très similaire : Comment insérer une nouvelle ligne en appuyant sur la touche retour dans iMessage sous Mac OSX ? et je connaissais déjà les solutions de contournement proposées ctrl + return , alt + return . Mais ces solutions de contournement n'ont pas répondu à la question initiale. De plus, je les utilise déjà, mais cela me laisse toujours avec une taux d'erreur inacceptable .

De mon point de vue, le return ne devrait jamais être associé à une "fonction" dans un environnement où vous êtes en train de taper du texte. Il s'agit d'une énorme erreur de conception ergonomique .

J'ai essayé de remplacer le mappage du raccourci actuel par :

defaults write com.apple.iChat NSUserKeyEquivalents '{ "                            
" = "insertNewline:" ; }

Ce qui est un échec silencieux.

Je pense que la syntaxe de la fonction est peut-être incorrecte, mais Messages n'écrit pas d'erreur à ce sujet.

Existe-t-il une documentation sur la syntaxe exacte de la fonction interne Messages fonctions qui peuvent être appelées à partir d'un raccourci ?

Existe-t-il un autre moyen correct de rendre le return se comporter comme un simple return ?

7voto

Rich Points 2429

Créer un fichier (sur une installation standard, le répertoire KeyBindings n'existe pas) :

mkdir ~/Library/KeyBindings

contenant les 2 remappages suivants :

$ cat >~/Library/KeyBindings/DefaultKeyBinding.dict <<end_of_file
/* my keybindings */
{
        "\U000d" = ("insertLineBreak:") ;
        "@\U000d" = ("insertNewline:") ;
}
end_of_file

@ signifie cmd dans ce dictionnaire, \U000d signifie Unicode du retour standard (== 0x0d ).

Redémarrer Messages et à partir de maintenant,

  • return mettra un réel return ,

  • cmd + return sera envoyer le message .


Drawback

Cette solution s'applique à toute application utilisant ~/Library/KeyBindings/DefaultKeyBinding.dict .

Avantage

Cette solution s'applique à toute application qui ne fait pas de l'économie d'énergie. naturel utiliser de la déclaration dans une zone de texte. Plus particulièrement, j'ai maintenant un Skype avec lequel je n'envoie plus de messages prématurément tronqués.

6voto

Farside Points 1535

Dans Messages, la combinaison de touches pour insérer une "nouvelle ligne" est la suivante :

  • CTRL + Return

Il n'enverra pas le message, mais insérera le signe de retour chariot (une nouvelle ligne).

Je l'utilise tout le temps, quand j'écris des SMS/iMessages depuis mon MacBook... mais oui, ce n'est pas vraiment confortable, car il y a beaucoup trop d'accidents quand on envoie les messages tronqués.

Dans la plupart des applications comme Skype et d'autres messagers, l'insertion d'une nouvelle ligne fonctionne avec les raccourcis clavier suivants :

  • CTRL + Return
  • Option + Return

Je ne recommande pas de remplacer ces raccourcis, car il s'agit d'une connaissance commune et d'un comportement standard lorsque vous travaillez avec les messages et les messagers.

Dans les traitements de texte, les éditeurs de code et les éditeurs de courrier électronique ont un comportement différent, comme vous le voyez la grande zone de texte, et Return agit comme une action "nouvelle ligne". Modificateurs semblables CTRL , Option , Command pourrait fonctionner comme une fonctionnalité supplémentaire pour insérer une nouvelle ligne "douce", pour insérer une nouvelle page, un délimiteur de saut de ligne, etc.


Vous pouvez utiliser BetterTouchTool qui est un utilitaire gratuit permettant de désactiver les raccourcis clavier (et qui a de nombreuses autres utilisations). La liste de vos actions pour désactiver/activer le raccourci pourrait être la suivante :

  1. Installer BetterTouchTool
  2. Cliquez sur le BetterTouchTool dans la barre de menu et choisissez Preferences
  3. Cliquez sur Keyboard
  4. Cliquez sur le signe plus en bas de l'écran Select Application: panneau
  5. Choisissez Messages (en /Applications dossier)
  6. Cliquez sur + Add New Shortcut
  7. Cliquez sur Keyboard Shortcut , hit return
  8. Cliquez sur Trigger Other Keyboard Shortcut , hit ctrl + return
  9. Laissez Trigger Predefined Action: a No Action (qui est la valeur par défaut)
  10. Répétez les étapes 7, 8 et 9 pour remapper. cmd + return a shift + return

Ce qui devrait conduire à un tel écran : Better Touch return remapping

2voto

kevin v Points 11

Le mousqueton a changé, il faut un fichier json maintenant : collez le fichier ci-dessous dans un fichier texte, renommez-le en messages.json puis copiez-le dans : ~/.config/karabiner/assets/complex_modifications/ puis ajoutez les deux règles via l'application

{"title" : "Mac Messages return-key modify", "rules" :[{"description" : "Use Return as New Line", "manipulators" :[{"type" : "basic", "from":{"key_code" : "return_or_enter"}, "to" :[{"key_code" : "return_or_enter", "modifiers" :["control"]}], "conditions" :[{"type" : "frontmost_application_if", "bundle_identifiers" :["^com \.apple\.iChat $"]}]},{"description" : "Use Control Return as Send", "manipulators" :[{"type" : "basic", "from":{"key_code" : "return_or_enter", "modifiers":{"mandatory" :["control"]}}, "to" :[{"key_code" : "return_or_enter"}], "conditions" :[{"type" : "frontmost_application_if", "bundle_identifiers" :["^com \.apple\.iChat $"]}]}]}]}

0voto

Rich Points 2429

Installer le mousqueton

Qui peut être trouvé ici : Karabiner : un personnalisateur de clavier pour OS X

Faites un private.xml

Lire l'article Karabiner la documentation sur le sujet : Manuel de référence private.xml

Créer le ${HOME}/Library/Application Support/Karabiner/private.xml avec le contenu suivant :

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>MESSAGES</appname>
    <equal>com.apple.iChat</equal>
    <equal>com.skype.skype</equal>
  </appdef>
  <item>
    <name>Messages return modification</name>
    <appendix>Change Return to Newline</appendix>
    <appendix>Change Newline to Return</appendix>
    <identifier>swap Return and Newline</identifier>
    <only>MESSAGES</only>
    <autogen>__KeyToKey__ KeyCode::RETURN, ModifierFlag::COMMAND_L, KeyCode::RETURN</autogen>
    <autogen>__KeyToKey__ KeyCode::RETURN, KeyCode::RETURN, ModifierFlag::CONTROL_L</autogen>
  </item>
</root>

Selon votre goût, utilisez vi , emacs o TextEdit (mais bien sûr pas Word ).

Chargez votre private.xml

Dites-le à Karabiner vous utiliserez un réglage personnalisé : Use prepared settings

et le charger : Apply prepared settings

Testez-le

Début Messages o Skype et vérifiez que vous pouvez taper return dans un message et envoyer un message avec command return .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X