Resalut les amis,
Lorsque j'ajoute des menus, j'ai toujours cette habitude de choisir le
menu dans lequel insérer mon nouveau menu par son index, pas bien du tout.
Le module est corrigé en respectant les bons conseils de Cyrille.
Cyrille, je prends bien en considération ta demande, par rapport au
raccourci Alt + Origine qui ne te convient plutôt pas trop.
En fait, il te faut juste le VKCode de la touche ou combinaison de
touches que tu veux choisir.
Dans la fonction onKeyDown, tu dois juste décommenter les deux
instructions :
sp.say(str(vk), True)
return True
Attention, n'oublie pas de décommenter même le return §True, car sinon,
tu ne pourras pas refermer 6pad++.
Dès que tu auras trouvé le VKCode de ta touche ou combinaison de
touches, remplace juste le VKCode 2084, que j'ai mis dans l'instruction
if pour Alt Origine, et le tour est joué.
Je constate un petit bug dans la toute dernière version alpha 10.1 de
6pad++ corrigée récemment par Quentin.
En fait, j'ai testé le module avec 6pad++ alpha 9 et 6pad++ beta 1,
aucun PB pour l'état coché/décoché du menu ajouté, la commande
menu.checked = True ou menu.checked = False est bien reconnue.
Cependant, avec la version alpha 10.1, rien à faire, j'ai même essayé de
mettre mon menu cochable dans un sous-menu, toujours rien.
Quentin, pourrais-tu regarder STP?
Merci par avance.
Bien amicalement,
Abdel.
import sixpad as sp
# Action de la case à cocher "Touche origine intelligente" dans le menu format
def onHomeKey():
formatMenu.originalHomeKey.checked = not
formatMenu.originalHomeKey.checked
# Ajout de la case à cocher "Touche origine intelligente" dans le menu format
formatMenu = sp.window.menus.format
formatMenu.add(label="Touche &origine intelligente", action = onHomeKey, name =
"originalHomeKey")
# On la coche par défaut
formatMenu.originalHomeKey.checked = True
def onKeyDown(activePage, vk):
# Décommentez les 2 lignes suivantes pour connaître le VKCode de
n'importe quelle touche ou combinaison de touches.
#sp.say(str(vk), True)
#return True
# On vérifie si la touche origine a bien été pressée
if vk == 36:
# On vérifie si la case touche origine intelligente est cochée
if formatMenu.originalHomeKey.checked:
# On se positionne sur le premier caractère qui n'est
pas une espace ou une tabulation
activePage.position =
activePage.lineSafeStartOffset(activePage.curLine)
else:
# On se positionne au début de la ligne sur n'importe
quel caractère
activePage.position =
activePage.lineStartOffset(activePage.curLine)
return False
# On vérifie si le raccourci-clavier Alt + origine a bien été pressée
if vk == 2084:
# On vérifie si la case touche origine intelligente est bien
cochée
if formatMenu.originalHomeKey.checked:
# On se positionne au début de la ligne sur n'importe
quel caractère
activePage.position =
activePage.lineStartOffset(activePage.curLine)
char = "tab" if activePage.text[activePage.position] ==
"\t" else "espace"
sp.say(char, True)
else:
# On se positionne sur le premier caractère qui n'est
pas une espace ou une tabulation
activePage.position =
activePage.lineSafeStartOffset(activePage.curLine)
sp.say(activePage.text[activePage.position], True)
return False
return True
def pageOpened(openedPage):
openedPage.addEvent("keyDown", onKeyDown)
sp.window.addEvent("pageOpened", pageOpened)
sp.window.curPage.addEvent("keyDown", onKeyDown)