Ce comportement a un certain sens sur les traitements de texte; lorsque vous voulez supprimer, couper ou déplacer un mot, vous voulez souvent inclure l'espace après le mot; du moins, c'est la justification derrière cela. Mais cela n'a aucun sens sur du contenu en lecture seule, surtout sur les navigateurs. Étant donné qu'il n'y a pas de solution système généralisée, je vais me concentrer sur les navigateurs.
Firefox
C'est facile à corriger dans Firefox : il y a le paramètre layout.word_select.eat_space_to_next_word. Allez sur about:config, recherchez ce paramètre et mettez-le sur false.
Chrome / autres navigateurs basés sur Chromium / applications Electron
Malheureusement, il n'y a pas de solution facile pour Chrome et les autres navigateurs basés sur Chromium. L'astuce mentionnée dans les trois réponses précédentes (double clic, mais au deuxième clic, bougez légèrement le curseur) fonctionne généralement dans les navigateurs basés sur Chromium. Mon problème avec cela était :
- vous devez le faire à chaque fois si vous ne voulez jamais de l'espace final
- Cela fonctionne avec les clics de souris ou les clics sur les boutons du touchpad, mais pas avec le "tap" sur le touchpad, car un double tapotement et un déplacement sur le touchpad simuleraient un clic et un glissement à la place.
Pour aider avec 1., j'ai écrit le contournement suivant sur AutoHotkey :
#If WinActive("ahk_class Chrome_WidgetWin_1")
~LButton::
if (A_TimeSincePriorHotkey < 400) and (A_TimeSincePriorHotkey <> -1)
MouseMove, 1, 0, 0, R
return
#If
Si vous double-cliquez (c'est-à-dire en moins de 400 ms) sur un navigateur Chromium, il déplace le curseur d'un pixel avant que vous ne relâchiez la touche de la souris, de sorte que seul le mot est sélectionné.
Cela fonctionne bien si vous utilisez une souris, ou si vous cliquez vraiment deux fois sur le touchpad (ou les boutons s'il en a). Mais cela ne fonctionne pas bien si vous double-tapez sur le touchpad. Apparemment, c'est parce que, lorsque vous tapez d'abord sur le touchpad, il n'envoie pas immédiatement le clic au système, car il ne sait pas encore si vous voulez réellement cliquer ou faire autre chose, par exemple double-taper et bouger, ce qui signifie cliquer et glisser. Donc si vous double-tapez, il envoie les deux clics à la fin du deuxième tapotement en tant qu'événement unique, donc AutoHotkey ne peut pas intervenir. (Cependant, cela fonctionne si vous double-tapez assez lentement pour que le premier tapotement soit envoyé en tant que clic par lui-même, mais assez rapidement pour que le deuxième tapotement/clic compte toujours comme un double clic ; mais c'est délicat de bien le faire.)
Donc, je l'ai modifié comme suit :
#If WinActive("ahk_class Chrome_WidgetWin_1")
~LButton::
if (A_TimeSincePriorHotkey < 400) and (A_TimeSincePriorHotkey <> -1)
{
MouseMove, 3, 0, 0, R
MouseClick
MouseClickDrag, Left, 0, 0, -1, 0, 0, R
}
return
#If
Donc, je supprime le premier double-clic puisque je ne peux pas interférer avec lui, et refais le double-clic avec l'astuce mentionnée. Le premier mouvement de la souris est pour empêcher que ces nouveaux clics ne soient interprétés comme des clics triples/quadruples qui sélectionneraient tout le paragraphe. Il s'avère qu'un déplacement d'au moins 3 pixels est nécessaire pour cela. Assurez-vous donc de ne pas cliquer sur le bord droit du mot !
Le triple-clic pour sélectionner le paragraphe fonctionne toujours bien avec cela. Cependant, le double-clic-et-glissement pour sélectionner plusieurs mots entiers, ou le triple-clic-et-glissement pour sélectionner plusieurs paragraphes entiers ne fonctionne pas, car c'est cette fonctionnalité que nous utilisons pour sélectionner un seul mot. Mais si vous utilisez occasionnellement ces fonctionnalités également, il est possible d'ajouter un élément au menu AutoHotkey pour désactiver ce contournement spécifique au besoin.
Ce contournement fonctionne dans tous les navigateurs basés sur Chromium, ainsi que dans les applications Electron qui héritent de la même sélection de texte de Chromium (j'ai testé sur Whatsapp), car ils ont tous la classe ahk_class Chrome_WidgetWin_1
. Si vous voulez simplement que cela fonctionne sur un navigateur ou une application spécifique, il est possible de le faire en changeant la déclaration if, par exemple #If WinActive("ahk_exe vivaldi.exe")
dans mon cas, car j'utilise Vivaldi.
AutoHotkey est assez flexible, et vous pourriez l'utiliser pour une solution globale qui fonctionne en dehors des navigateurs et des applications Electron. Par exemple, chaque fois que vous double-cliquez n'importe où (détecté avec la même méthode que ci-dessus), AutoHotkey peut vérifier si un espace final est inclus dans la sélection, et envoyer Maj + Flèche gauche si c'est le cas. Je n'ai pas pris la peine de le faire, car ce comportement me gênait principalement dans les navigateurs.