Mappage du verrouillage des majuscules pour échapper et contrôler sous Windows 7
23
Je veux pouvoir mapper la touche de verrouillage des majuscules sur Échap si elle n'est enfoncée avec aucune autre touche et sur Contrôle si c'est le cas. Comment puis-je faire cela sur Windows 7?
Il remappe Caps Lock à Ctrl et envoie Escape lorsque vous relâchez la touche. Il m'a fallu un certain temps pour m'habituer à ce que la touche Échap soit enfoncée à chaque fois que je relâche la touche de verrouillage des majuscules. Cependant, c'est à peu près inutile sur les zones de texte du site Web, car en appuyant sur Échap, vous perdez le focus sur la zone de texte.
Je cherche cependant une solution à cela. Je pourrais aller jusqu'à écrire une sorte de crochet pilote / clavier en C si nécessaire, haha.
Gênes spécifiques à Vim: Cela rend les digraphes impossibles à taper à l'aide de la combinaison Ctrl-K et est généralement ennuyeux avant de vous y habituer. Cela fonctionne bien pour moi car je ferais tout pour éviter autant que possible les touches Échap et Ctrl.
Si vous voulez simplement le mapper pour vous échapper, vous pouvez le simplifier en: $CapsLock::Escapepuis immédiatement return.
Kazark
J'essaie de comprendre - donc le défaut du script est que lorsque le verrouillage des majuscules est enfoncé et relâché, un Ctrl et un Escape sont envoyés?
Rishi
5
Cela peut être apparu sur la page vim wikia mentionnée précédemment après la solution de Rich ci-dessus.
Ce n'est pas mon travail, mais j'ai commencé à l'utiliser et cela fonctionne exactement comme décrit, pas de réelles mises en garde, et parce qu'il n'essaie pas de mapper des exceptions (car elles sont inutiles), il se comporte très bien dans Chrome (je vraiment je le voulais pour Vimium).
J'utilise ce script et cela fonctionne pour moi. J'utilise ceci pour relier Caps Lock à Control / Escape pour vim.
Brandon
1
Travaux! Juste pour clarifier, c'est un script AutoHotKey. Commencez ici: autohotkey.com
Michael Fox
Pour le bénéfice des lecteurs qui n'ont peut-être pas cliqué et vu les commentaires sur mon contenu, il semble que cette solution ne fonctionne que si vous appuyez Caps Locksur avant d'appuyer sur Shift. Caps+Shift+Xfonctionne mais Shift+Caps+Xne fonctionne pas.
Rich
4
J'utilise pour cela le script AutoHotkey suivant , adapté de celui que j'ai trouvé sur le wiki Vim Tips . L'implémentation est un peu hacky, mais ça "marche pour moi". (Et contrairement aux autres réponses sur cette page en date du 2016-09-19, cela résout complètement le problème sans aucune mise en garde à ma connaissance.)
Le codeur d'origine a noté:
Le script essaie également de détecter et d'éviter les «faux positifs» lorsque vous appuyez sur Contrôle et sur une autre touche et relâchez les deux trop rapidement, c'est-à-dire avant la période de temporisation.
Assurez-vous de modifier la valeur de 250 ms en fonction de la qualité de votre clavier et de votre propre temps de réaction. C'est probablement quelque chose à modifier expérimentalement à votre guise.
Voici une entrée de registre qui mappe le verrouillage des majuscules pour s'échapper sur Windows 7.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,46,00,01,00,3a,00,00,00,00,00
Enregistrez ce qui précède dans un fichier avec une extension .reg (comme mapCapLocks.reg) et importez / exécutez-le sur votre machine.
Veuillez citer les parties essentielles de la réponse à partir du ou des liens de référence, car la réponse peut devenir invalide si la ou les pages liées changent. Actuellement 404 donc cette réponse est inutile.
DavidPostill
Excellents points. Je mettrai à jour la réponse
Stryker
Cela mappera également la clé ScrollLock à CapsLock. Si ce n'est pas ce que vous voulez, utilisez la valeur hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00. L'éditeur utile pour cette carte est ScancodeMapping de PlexData .
Appleshell
2
En fait, je pense que j'ai construit la solution parfaite ici:
En tant qu'utilisateur Vim, c'est un must pour moi, et je l'utilise depuis longtemps avec succès sur Windows. Je viens de créer une entrée HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runavec regedit pour pointer vers l'exécutable et cela fonctionne simplement.
Pour compiler et installer les dépendances, veuillez consulter le README du référentiel et le site Web principal pour l'interception.
J'ai également créé une version Linux de la même ici:
Je cherchais quelque chose d'aussi similaire à cela, mais malheureusement, les scripts AHK des réponses ici ne fonctionnaient pas bien pour moi.
Cependant, j'ai trouvé une solution qui a résolu cela pour moi sur le wiki vim .
Tout d'abord, téléchargez l'application suivante appelée remappage à double clé .
Extraire le zip dans un emplacement de votre choix (je stocke des utilitaires comme ceux-ci dans C:\Users\%username%\util\)
Ouvrez le répertoire suivant: C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\et faites-y glisser le fichier dual-key-remap.exe, tout en maintenant ALT enfoncé pour créer un raccourci. (Ou faites un clic droit et sélectionnez «créer un raccourci» et déplacez le raccourci vers votre répertoire de démarrage).
Connectez-vous et déconnectez-vous. Quelques secondes après votre connexion, les clés rebondiront.
veuillez éviter d'utiliser des liens comme réponses. essayez plutôt d'expliquer le mieux possible le contenu des liens et de ne les utiliser que comme référence. si le lien est rompu, votre réponse entière aussi.
Lorenzo Von Matterhorn
0
Je n'ai pas assez de réputation pour commenter la réponse qui a fonctionné pour moi. Je l'ai quand même voté.
La touche de verrouillage des majuscules se comporte comme la touche Échap si elle est enfoncée d'elle-même. Et se comporte comme la touche Ctrl si elle est combinée avec d'autres. J'ai également le même cas d'utilisation pour cela. Vigueur.
L'instruction dans le lien qu'il a fourni est assez simple à suivre.
Si cela ne vous dérange pas de compiler vous-même le code source court, vous pouvez utiliser le code ci-dessous. Vous devez le compiler en tant qu'application de console Windows. Par exemple, dans l'invite de commande Visual C ++, vous pouvez le compiler avec
Le remappage des touches fonctionne lorsque l'application est en cours d'exécution. Pas besoin de redémarrer, de se déconnecter / se connecter, etc. Si vous avez besoin d'un remappage pour fonctionner pour des applications exécutées avec des droits d'administrateur, vous devez également exécuter l'application de remappage en tant qu'administrateur. Je l'utilise depuis quelques jours déjà (sur Windows 10), jusqu'à présent tout va bien.
Réponses:
Vous pouvez le remapper à Escape avec SharpKeys
Cependant, je ne connais pas de manière réaliste d'effectuer un remappage conditionnel, autre que l'écriture d'un pilote de clavier.
la source
Ce n'est pas exactement ce que vous voulez mais très proche si vous pouvez vivre avec quelques défauts. Voici un script AutoHotKey :
Il remappe Caps Lock à Ctrl et envoie Escape lorsque vous relâchez la touche. Il m'a fallu un certain temps pour m'habituer à ce que la touche Échap soit enfoncée à chaque fois que je relâche la touche de verrouillage des majuscules. Cependant, c'est à peu près inutile sur les zones de texte du site Web, car en appuyant sur Échap, vous perdez le focus sur la zone de texte.
Je cherche cependant une solution à cela. Je pourrais aller jusqu'à écrire une sorte de crochet pilote / clavier en C si nécessaire, haha.
Gênes spécifiques à Vim: Cela rend les digraphes impossibles à taper à l'aide de la combinaison Ctrl-K et est généralement ennuyeux avant de vous y habituer. Cela fonctionne bien pour moi car je ferais tout pour éviter autant que possible les touches Échap et Ctrl.
la source
$CapsLock::Escape
puis immédiatementreturn
.Cela peut être apparu sur la page vim wikia mentionnée précédemment après la solution de Rich ci-dessus.
Ce n'est pas mon travail, mais j'ai commencé à l'utiliser et cela fonctionne exactement comme décrit, pas de réelles mises en garde, et parce qu'il n'essaie pas de mapper des exceptions (car elles sont inutiles), il se comporte très bien dans Chrome (je vraiment je le voulais pour Vimium).
la source
Caps Lock
sur avant d'appuyer surShift
.Caps+Shift+X
fonctionne maisShift+Caps+X
ne fonctionne pas.J'utilise pour cela le script AutoHotkey suivant , adapté de celui que j'ai trouvé sur le wiki Vim Tips . L'implémentation est un peu hacky, mais ça "marche pour moi". (Et contrairement aux autres réponses sur cette page en date du 2016-09-19, cela résout complètement le problème sans aucune mise en garde à ma connaissance.)
Le codeur d'origine a noté:
CapsLockCtrlEscape.ahk gist :
la source
Voici une entrée de registre qui mappe le verrouillage des majuscules pour s'échapper sur Windows 7.
Enregistrez ce qui précède dans un fichier avec une extension .reg (comme mapCapLocks.reg) et importez / exécutez-le sur votre machine.
la source
hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00
. L'éditeur utile pour cette carte est ScancodeMapping de PlexData .En fait, je pense que j'ai construit la solution parfaite ici:
En tant qu'utilisateur Vim, c'est un must pour moi, et je l'utilise depuis longtemps avec succès sur Windows. Je viens de créer une entrée
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
avec regedit pour pointer vers l'exécutable et cela fonctionne simplement.Pour compiler et installer les dépendances, veuillez consulter le README du référentiel et le site Web principal pour l'interception.
J'ai également créé une version Linux de la même ici:
la source
Je cherchais quelque chose d'aussi similaire à cela, mais malheureusement, les scripts AHK des réponses ici ne fonctionnaient pas bien pour moi.
Cependant, j'ai trouvé une solution qui a résolu cela pour moi sur le wiki vim .
C:\Users\%username%\util\
)C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
et faites-y glisser le fichier dual-key-remap.exe, tout en maintenant ALT enfoncé pour créer un raccourci. (Ou faites un clic droit et sélectionnez «créer un raccourci» et déplacez le raccourci vers votre répertoire de démarrage).la source
Le programme remapkey.exe inclus dans les outils du Kit de ressources Windows Server 2003 mentionné dans cet article fonctionne bien dans Windows 7.
la source
Je n'ai pas assez de réputation pour commenter la réponse qui a fonctionné pour moi. Je l'ai quand même voté.
La réponse de pepper-chico a fonctionné pour moi.
La touche de verrouillage des majuscules se comporte comme la touche Échap si elle est enfoncée d'elle-même. Et se comporte comme la touche Ctrl si elle est combinée avec d'autres. J'ai également le même cas d'utilisation pour cela. Vigueur.
L'instruction dans le lien qu'il a fourni est assez simple à suivre.
la source
Si cela ne vous dérange pas de compiler vous-même le code source court, vous pouvez utiliser le code ci-dessous. Vous devez le compiler en tant qu'application de console Windows. Par exemple, dans l'invite de commande Visual C ++, vous pouvez le compiler avec
Le remappage des touches fonctionne lorsque l'application est en cours d'exécution. Pas besoin de redémarrer, de se déconnecter / se connecter, etc. Si vous avez besoin d'un remappage pour fonctionner pour des applications exécutées avec des droits d'administrateur, vous devez également exécuter l'application de remappage en tant qu'administrateur. Je l'utilise depuis quelques jours déjà (sur Windows 10), jusqu'à présent tout va bien.
la source