setNotation(...)

Parent Previous Next

Fonctions:

setNotation( char c )                // valeur par défaut le point:  '.' du pavé numérique


Description:

       Détermine le signe de séparation des décimales

       Ne fonctionne pas pour les chaînes de caractères

       Le point du pavé numérique peut donner une virgule suivant l'application comme Excel par exemple


Arguments:

       sans argument remet la valeur par défaut qui est le point ' . ' du pavé numérique

       Si l'argument est le point ' . ' , le point du pavé numérique du clavier sera remplacé par le point du clavier alphanumérique

       Si l'argument est la virgule ' , ' , le point du pavé numérique du clavier sera remplacé par la virgule du clavier alphanumérique


Fonction associée:

       print[ln]( Valeur numérique )

       printKeypad[ln]( valeur numérique )


Valeur de retour:

Retourne 1 si la fonction réussie sinon renvoie 0



Exemple:

KeyboardEx.setNotation(',');        // virgule à la place du point pour la représentation des nombre décimaux



Code:



#include "Adafruit_TinyUSB.h"

#include "KeyboardEx.h"


// Report ID

enum

{

 RID_KEYBOARD = 1,

 // RID_MOUSE,

 RID_CONSUMER_CONTROL, // Media, volume etc ..

};


// HID report descriptor using TinyUSB's template

uint8_t const desc_hid_report[] =

{

 //TUD_HID_REPORT_DESC_KEYBOARD(),

 TUD_HID_REPORT_DESC_KEYBOARD( HID_REPORT_ID(RID_KEYBOARD) ),

 //TUD_HID_REPORT_DESC_MOUSE   ( HID_REPORT_ID(RID_MOUSE) ),

 TUD_HID_REPORT_DESC_CONSUMER( HID_REPORT_ID(RID_CONSUMER_CONTROL) )

};


Adafruit_USBD_HID usb_hid;

// --------------------------------------------------------------------------


void setup() {

 usb_hid.setPollInterval(2);

 usb_hid.setReportDescriptor(desc_hid_report, sizeof(desc_hid_report));

 usb_hid.setReportCallback(get_report_callback , hid_report_callback);


 usb_hid.begin();

 KeyboardEx.begin(usb_hid, RID_KEYBOARD);


 // KeyboardEx.setOS(Windows); // Si vous êtes sur Windows, permet l'utilisation des Alt Codes.

 // KeyboardEx.setDelay(5); // valeur par défaut, si problème augmenter la valeur à 10.


 // Commenter ces lignes si vous n'utilisez oas le port série

 Serial.begin(115200);

 while (!Serial) {

   ; // wait for serial port to connect. Needed for native USB

 }

 delay(6000);

}


void loop() {

 static int oneloop = 0;


 // n'aime pas le while(1)

 if (!oneloop) {

   oneloop = 1;


   // **************************************************************************************

   //  Test de la fonction -> KeyboardEx.setNotation(...)

   // **************************************************************************************

   KeyboardEx.println(F("*** Test de la fonction -> KeyboardEx.setNotation(...) ***"));


   KeyboardEx.printKeypadln(98.987654);  // 2 chiffres par défaut


   KeyboardEx.setNotation(',');          // remplace le point du pavé numérique par la virgule

   KeyboardEx.printKeypadln(98.987654);

   KeyboardEx.printKeypadln();


   KeyboardEx.setNotation();             // valeur par défaut, le point du pavé numérique

   // le point du pavé numérique peut donner une virgule suivant l'application comme Excel


   KeyboardEx.setPrecision(3);           // 4 chiffres après la virgule

   KeyboardEx.printKeypadln(98.987654);


   KeyboardEx.setNotation(',');          // remplace le point du pavé numérique par la virgule

   KeyboardEx.printKeypadln(98.987654);


   KeyboardEx.end();

 }

}



uint16_t get_report_callback (uint8_t report_id, hid_report_type_t report_type, uint8_t* buffer, uint16_t reqlen)

{

 // Mettre Null à la place de get_report_callback dans cette fonction ci- dessous déclarée plus haut

 // si vous souhaitez supprmer cette procédure

 // usb_hid.setReportCallback(get_report_callback , hid_report_callback) -> usb_hid.setReportCallback(Null , hid_report_callback);


 // not used in this example

 return 0;

}


// Output report callback for LED indicator such as Caplocks

void hid_report_callback(uint8_t report_id, hid_report_type_t report_type, uint8_t const* buffer, uint16_t bufsize)

{

 uint8_t ledIndicator;


 // LED indicator is output report with only 1 byte length

 if ( report_type != HID_REPORT_TYPE_OUTPUT ) return;

 // KEYBOARD_LED_KANA (8) | KEYBOARD_LED_COMPOSE (3) | KEYBOARD_LED_SCROLLLOCK (4) | KEYBOARD_LED_CAPSLOCK (2) | KEYBOARD_LED_NUMLOCK (1)


 // buffer[0] si clavier seul

 // ou buffer[1] si plusieurs reports

 if (bufsize == 2) {

   ledIndicator = buffer[1];

 } else {

   ledIndicator = buffer[0];

 }

 // Allumer la led de la carte si CAPSLOCK (verrouillage des majuscule) est activé

 // La led ne s'allumera pas sur Adafruit QT py car c'est une Neopixel

 // mais sur un Seeeduino XIAO ok

 digitalWrite(LED_BUILTIN, !(ledIndicator & KEYBOARD_LED_CAPSLOCK));

}