CDU, un appuie, deux prise en compte

Bonjour,
suite à l'achat d'un CDU plugnfly (voir ici viewtopic.php?f=117&t=3832&p=42963#p42963), je post mon dernier "souci" dans la section SIOC :
pour utiliser un CDU avec le NGX, il faut évidemment une programmation SIOC, mais aussi le soft qui fait l'intermédiaire entre le SIOC et le NGX. Tout marche, mais mon seul souci, c'est que chaque touche est prise en compte deux fois, l'appuie sur la touche "1" me donne "11", LSK 1, l'appuie se fait deux fois, pas pratique du tout...
Je fait appel à vous pour m'indiquer quels sont les changements à faire pour éviter ce double appuie, je suis un grand débutant du SIOC. Voici un indice de Stevelep" dans le post initial, mais je n'arrive pas à trouver où modifier celà :
Et mon code SIOC :
Merci pour votre aide!
suite à l'achat d'un CDU plugnfly (voir ici viewtopic.php?f=117&t=3832&p=42963#p42963), je post mon dernier "souci" dans la section SIOC :
pour utiliser un CDU avec le NGX, il faut évidemment une programmation SIOC, mais aussi le soft qui fait l'intermédiaire entre le SIOC et le NGX. Tout marche, mais mon seul souci, c'est que chaque touche est prise en compte deux fois, l'appuie sur la touche "1" me donne "11", LSK 1, l'appuie se fait deux fois, pas pratique du tout...
Je fait appel à vous pour m'indiquer quels sont les changements à faire pour éviter ce double appuie, je suis un grand débutant du SIOC. Voici un indice de Stevelep" dans le post initial, mais je n'arrive pas à trouver où modifier celà :
C'est probablement que comme le SIOC est orienté évènement:
le programme exécute le code SIOC d'une variable quand la valeur de celle-ci est modifiée.
Or quand tu presses et tu relâche le bouton la valeur passe de 0 à 1 puis de 1 à 0 donc le code est
exécuté 2 fois. Il faut donc spécifier que la touche clavier est envoyée seulement si la
variable = 1.
Et mon code SIOC :
- Code: Tout sélectionner
// *****************************************************************************
// * Config_SIOC ver 4.2 - By Manuel Velez - http://www.opencockpits.com
// *****************************************************************************
// * FileName : CDU NGX.txt
// * Date : 19/02/2013
Var 1998, name CDU, Link USB_KEYS, Device 1
{
IF &CDU = 18 // MENU
{
V1999 = 2156
}
IF &CDU = 7 // INIT REF
{
V1999 = 2144
}
IF &CDU = 8 // RTE
{
V1999 = 2173
}
IF &CDU = 15 // DES
{
V1999 = 2134
}
IF &CDU = 19 // LEGS
{
V1999 = 2154
}
IF &CDU = 22 // PROG
{
V1999 = 2164
}
IF &CDU = 24 // N1 LIMIT
{
V1999 = 2158
}
IF &CDU = 25 // FIX
{
V1999 = 2139
}
IF &CDU = 17 // CLB
{
V1999 = 2128
}
IF &CDU = 16 // CRZ
{
V1999 = 2130
}
IF &CDU = 20 // DEP ARR
{
V1999 = 2133
}
IF &CDU = 21 // HOLD
{
V1999 = 2142
}
IF &CDU = 23 // EXEC
{
V1999 = 2137
}
IF &CDU = 62 // PREV PAGE
{
V1999 = 2163
}
IF &CDU = 56 // NEXT PAGE
{
V1999 = 2159
}
IF &CDU = 58 // 0
{
V1999 = 2114
}
IF &CDU = 41 // 1
{
V1999 = 2115
}
IF &CDU = 42 // 2
{
V1999 = 2116
}
IF &CDU = 33 // 3
{
V1999 = 2117
}
IF &CDU = 49 // 4
{
V1999 = 2118
}
IF &CDU = 43 // 5
{
V1999 = 2119
}
IF &CDU = 52 // 6
{
V1999 = 2120
}
IF &CDU = 51 // 7
{
V1999 = 2121
}
IF &CDU = 50 // 8
{
V1999 = 2122
}
IF &CDU = 60 // 9
{
V1999 = 2123
}
IF &CDU = 57 // .
{
V1999 = 2135
}
IF &CDU = 70 // slash
{
V1999 = 2175
}
IF &CDU = 59 // + / -
{
V1999 = 2162
}
IF &CDU = 69 // DEL
{
V1999 = 2132
}
IF &CDU = 71 // CLR
{
V1999 = 2129
}
IF &CDU = 68 // SP
{
V1999 = 2176
}
IF &CDU = 28 // A
{
V1999 = 2124
}
IF &CDU = 29 // B
{
V1999 = 2125
}
IF &CDU = 30 // C
{
V1999 = 2127
}
IF &CDU = 31 // D
{
V1999 = 2131
}
IF &CDU = 32 // E
{
V1999 = 2136
}
IF &CDU = 36 // F
{
V1999 = 2138
}
IF &CDU = 37 // G
{
V1999 = 2140
}
IF &CDU = 38 // H
{
V1999 = 2141
}
IF &CDU = 39 // I
{
V1999 = 2143
}
IF &CDU = 40 // J
{
V1999 = 2145
}
IF &CDU = 34 // K
{
V1999 = 2146
}
IF &CDU = 26 // L
{
V1999 = 2147
}
IF &CDU = 27 // M
{
V1999 = 2155
}
IF &CDU = 47 // N
{
V1999 = 2157
}
IF &CDU = 48 // O
{
V1999 = 2160
}
IF &CDU = 35 // P
{
V1999 = 2161
}
IF &CDU = 44 // Q
{
V1999 = 2165
}
IF &CDU = 45 // R
{
V1999 = 2166
}
IF &CDU = 46 // S
{
V1999 = 2174
}
IF &CDU = 64 // T
{
V1999 = 2177
}
IF &CDU = 53 // U
{
V1999 = 2178
}
IF &CDU = 54 // V
{
V1999 = 2179
}
IF &CDU = 55 // W
{
V1999 = 2180
}
IF &CDU = 63 // X
{
V1999 = 2181
}
IF &CDU = 72 // Y
{
V1999 = 2182
}
IF &CDU = 61 // Z
{
V1999 = 2183
}
IF &CDU = 1 // Linea 1L
{
V1999 = 2148
}
IF &CDU = 2 // Linea 2L
{
V1999 = 2149
}
IF &CDU = 3 // Linea 3L
{
V1999 = 2150
}
IF &CDU = 4 // Linea 4L
{
V1999 = 2151
}
IF &CDU = 5 // Linea 5L
{
V1999 = 2152
}
IF &CDU = 6 // Linea 6L
{
V1999 = 2153
}
IF &CDU = 9 // Linea 1R
{
V1999 = 2167
}
IF &CDU = 10 // Linea 2R
{
V1999 = 2168
}
IF &CDU = 11 // Linea 3R
{
V1999 = 2169
}
IF &CDU = 12 // Linea 4R
{
V1999 = 2170
}
IF &CDU = 13 // Linea 5R
{
V1999 = 2171
}
IF &CDU = 14 // Linea 6R
{
V1999 = 2172
}
}
Merci pour votre aide!