Tengo este problema (nuevamente): presionar una tecla (b para mí) a veces hace que se registre dos veces. https://discusiones.apple.com/thread/7840547
¿Hay alguna manera de usar elementos de mosquetón para modificar de manera que cuando se presiona una tecla dos veces en poco tiempo, la segunda tecla no se registra? https://pqrs.org/osx/karabiner/complex_modifications/
Para su caso especial, le sugiero que use Karabiner Elements. y edítelo ~/.config/karabiner/karabiner.json
de esta manera (agregado a/después de "reglas"):
EDITAR / versión a prueba de fallas:
– Copie/pegue el código a continuación en TextEdit y "Guardar como..." WhateverNameYouLike.json
– Luego mueva manualmente una copia a ~/.config/karabiner/assets/complex_modifications/
– Finalmente importe desde KE: pestaña "Modificaciones complejas", botones [+ Agregar regla] & [+ Habilitar]
{ "title": "Keep solitary letter/key ''b'' from multiple press!",
"rules": [
{ "description": "Keep 'b' from being pressed twice",
"manipulators": [
{ "from": { "key_code": "b" },
"parameters": {"basic.to_if_held_down_threshold_milliseconds": 10},
"to_if_held_down":[
{ "key_code": "b",
"repeat": false }],
"type": "basic"
}
]
}
]
}
Como puede ver, la letra "b" NO se vuelve a asignar, pero en "to_if_held_down" no se repite "repeat": false
; obviamente, la letra 'b' puede ser sustituida por cualquier otra letra que falle.
(El umbral se define en un mínimo de 1/100 de segundo, por lo que no notará ninguna diferencia...)
Informe si este código hace por usted lo que se supone que debe hacer.
[EDITAR:] Esta solución funciona para el usuario en (ex-) problemas.
(Tuve que simular la situación probando en una aplicación que repite las teclas si se mantienen presionadas, pero en realidad el tuyo puede ser un problema mecánico sin solución...)
Nota:
Sin embargo, este método puede no ser recomendable/aplicable si al mantener presionada una tecla (p. ej.: "a") en una aplicación se abre una pequeña ventana encima que ofrece (p. ej.:) "ä" / "å" / "ậ" o opciones similares, SI necesita esos caracteres especiales .
Este comportamiento se evitaría con "repeat": false
.
Pero entonces:
puede activar "Mostrar visores de teclado y caracteres en la barra de menú" en Preferencias del sistema y obtenerlos desde la barra de menú...
karabiner.json
actualmente: gist.github.com/tonghuikang/a7d65b98e30f6f37765e696f8e8dd4daUna secuencia de comandos auxiliar de Python3 para la respuesta anterior, que asigna todas las claves:
import json
import string
letters = list(string.ascii_lowercase)
for x in letters:
output = {'title': f'Double Type {x}',
'rules': [
{
'description': f'Keep `{x}` from a double keypress',
'manipulators': [
{
'from': {'key_code': f'{x}'},
'parameters': {"basic.to_if_held_down_threshold_milliseconds": 10},
'to_if_held_down': [
{
'key_code': f'{x}',
'repeat': 'false'
}
],
'type': 'basic'
}
]
}
]
}
with open(f'doubletype_{x}.json', 'w')as outfile:
json.dump(output, outfile)
# Copying files to directory
import glob
import shutil
from os.path import expanduser
home = expanduser("~")
print('Copying files...')
for file in glob.glob('doubletype_*'):
shutil.copyfile(file, f'{home}/.config/karabiner/assets/complex_modifications/{file}')
print('Copying files complete!')
Esto generará 26 archivos (uno para cada letra) y los copiará en el directorio apropiado.
Alano
Alano
Hong Kong Tong
Alano
clemsam lang
Hong Kong Tong