20160505
les commandes de
NVDA (vrai aussi de
JAWS) sont accessibles en maintenant une touche du clavier (insert, majlock)
il n'est pas possible de les envoyer à partir de mon
FootSwitch
GAFFE: la suite est "un peu" vraie, mais certaines commandes ne passent pas lire le détail sur NvdaJawsToucheInsertExterne
par contre si on installe un deuxième clavier Usb, il est possible d'enfoncer et maintenir cette touche et de frapper la commande
NVDA au clavier
la maquette/prototype serait donc un clavier avec un masque ne libérant qu'une touche et une pédale
à partir de la librairie:
https://www.arduino.cc/en/Reference/MouseKeyboard
composants:
reçue le 20160522
éventuellement avec une deuxième pédale pour envoyer un "backspace" (mais possibler aussi avec un
FootSwitch)
éventuellement un appui "long" ou double pour l'une ou l'autre des fonctions
variante du pauvre:
avant-projet impossible
avec zéro hardware:
au démarrage émet le/les caractères voulus
ne convient pas car il faut attendre la frappe d'une commande au clavier pour relâcher la touche "NVDA"!
en attendant mieux, un bouton poussoir "soudé"
la librairie est pour Leonardo, pas Nano!
un qui dit possible en flashant un uno:
http://hackaday.com/2012/06/29/turning-an-arduino-into-a-usb-keyboard/
autre piste:
http://blog.petrockblock.com/2012/05/19/usb-keyboard-with-arduino-and-v-usb-library-an-example/
donne des erreurs de compilation
des détails dans le livre:
http://www.practicalarduino.com/
sans doute soluble dans
ArduinoProMicro
http://fr.aliexpress.com/store/product/Free-Shipping-New-Pro-Micro-for-arduino-ATmega32U4-5V-16MHz-Module-with-2-row-pin-header/318950_1348800135.html
commandé le 20160505
une autre piste, dit compatible nano, avec usb ajouté:
https://create.arduino.cc/projecthub/rayburne/arduino-to-excel-using-v-usb-cbf701
erreur de compil : dit doit être const pour être sans section ....
20160526: premiers pas, fait apparaitre menu nvda
#include <Keyboard.h>
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
Serial.begin(115200);
while (!Serial) ;
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
Keyboard.begin();
Serial.println("andiamo");
}
int n=0;
// the loop function runs over and over again forever
void loop() {
// Keyboard.press(ctrlKey);
if (n==0) {
Keyboard.begin() ;
Keyboard.press( KEY_INSERT);
Keyboard.press('n');
Keyboard.releaseAll();
}
n++;
Serial.print(n);
// digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(5000);
Serial.println(" off");// wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(5000); // wait for a second
}