keyboard layout belgian

Hallo allemaal. Aangezien ik nog maar net begonnen ben met arduino zou ik jullie vriendelijk willen vragen of er iemand mij zou kunnen helpen met keyboard.h
als ik deze gebruik dan simuleert hij de code in qwerty en niet in azerty (be).
van wat ik aan info gelezen heb zou dit afhangen van de keyboard.h library.

Zou iemand mij dus de belgische layout kunnen bezorgen aub?

na wat zoekwerk ben ik op deze website uitgekomen:

ik heb daarna het bestand be_BE.lang

die je hier kan terug vinden :

gekopieerd in :

C:\Program Files (x86)\Arduino\libraries\Keyboard\src\Keyboard.cpp

wanneer ik nu een toetsenbord simuleer blijkt het correct te verlopen.

Hoi kidd, welkom nog.

Netjes dat je je oplossing ook vermeld hebt, zodat anderen er ook wat aan hebben.

Werken <, > en \ bij jou? Ik heb deze keymapping geïmplementeerd maar veel toetsen werken niet o.a. deze.

Ik heb dat ook gedaan , maar helaas bij mij werkt niet. Ik doen en test met keyboard sketch en , qwerty ....HELP , wat ik doen niet juist ?. Mijn project is a barcode scanner , maar alles komt uit als &é"'(('"§è

Als het eruit komt als &é"'(('"§è staat de keyboard layout niet goed. Deze kan je meestal instellen op azerty of qwerty.

Doet <>/ en andere speciale leestekens het niet dan staat de scanner op france in plaats van belgie.

Alles is goed nu, a nieuw parser en keyboard layout ,alles ok nu , dank u. What ik doen nu , en werkt niet is van en array of 24 pins all high ik wil en nieuwe array maken met de pins zijn LOW en en array met pins HIGH. Voor barcode scanner , zo ik heb gedaan :

///////////////////////////////////////
int Key = '0';

bool bCodeCompleet = false;
String sToCompare = "";
const char Lowercase[] = {0, 0, 0, 0, 'q', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', ',', 'n', 'o', 'p', 'a', 'r', 's', 't', 'u', 'v', 'z', 'x', 'y', 'w', '&', 'é', '"', ''', '(', '§', 'è', '!', 'ç', 'à', '\n', 0, 0, 0, ' ', ')', '-', '^', '$', 0, 'µ', 'm', 'ù', '²', ';', ':', '=', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '/', '', '-', '+', '\n', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.', '<', 0};
const char Uppercase[] = {0, 0, 0, 0, 'Q', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', '?', 'N', 'O', 'P', 'A', 'R', 'S', 'T', 'U', 'V', 'Z', 'X', 'Y', 'W', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '\n', 0, 0, 0, ' ', '°', '_', 0, '
', 0, '£', 'M', '%', '³', '.', '/', '+', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '/', '*', '-', '+', '\n', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.', '>', 0};
const char Otherchar[] = {0, 0, 0, 0, 0, 0, 0, 0, '€', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '|', '@', '#', 0, 0, '^', 0, 0, '{', '}', '\n', 0, 0, 0, ' ', 0, 0, '[', ']', 0, '`', 0, '´', 0, 0, 0, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '\n', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '\', 0};
USB Usb;
USBHub Hub(&Usb);
class HIDSelector : public HIDComposite
{
public:
HIDSelector(USB *p) : HIDComposite(p) {};
protected:
void ParseHIDData(USBHID *hid, uint8_t ep, bool is_rpt_id, uint8_t len, uint8_t *buf);
bool SelectInterface(uint8_t iface, uint8_t proto);
};
bool HIDSelector::SelectInterface(uint8_t iface, uint8_t proto)
{
return proto != 0;
}

void HIDSelector::ParseHIDData(USBHID hid, uint8_t ep, bool is_rpt_id, uint8_t len, uint8_t buf)
{
if (len && buf)
{
Notify(PSTR("\r\n"), 0x80);
for (uint8_t i = 0; i < len; i++)
{
D_PrintHex<uint8_t > (buf
, 0x80);

  • Notify(PSTR(" "), 0x80);*
  • }*
  • }*
    }
    class MyParser : public HIDReportParser
    {
  • public:*
  • MyParser();*
    void Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
    };
    MyParser::MyParser() {}
    void MyParser::Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
    {
  • byte iModifier = buf[0];*
  • byte iToets = buf[2];*
  • // Is één van de shift-toetsen ingeduwd?*
  • if (iModifier == 0)*
  • {*
  • // Indien niet, haal karakter op van de kleine letters.*
  • iToets = Lowercase[iToets];*
  • }*
  • else if (iModifier == 2 || iModifier == 32) // Linkse of rechtse shift ingeduwd.*
  • {*
  • // Links of rechtse shift ingeduwd, haal hoofdletter op.*
  • iToets = Uppercase[iToets];*
  • }*
  • else if (iModifier == 64) // Alt Gr ingedrukt.*
  • {*
  • // Bij alt gr, haal speciale karakter op.*
  • iToets = Otherchar[iToets];*
  • }*
  • else*
  • {*
  • // In andere gevallen negeer karakter.*
  • iToets = 0;*
  • }*
  • // Is toets niet gelijk aan 0?*
  • if (iToets != 0)*
  • {*
  • // Is toets nieuwe lijn commando?*
  • if ((char) iToets == '\n')*
  • {*
  • // Indien zo, zet variabele op waar.*
  • bCodeCompleet = true;*
  • }*
  • else*
  • {*
  • // Voeg karakter toe aan tekst.*
  • sToCompare += (char) iToets;*
  • }*
  • }*
    }

Hoi.

De code die je hier gepubliceerd hebt, is defect.
Dat word veroorzaakt doordat je ondanks de vele instructies (klik !), de code niet op de juiste wijze hebt gepubliceerd.
Door dit defect stuur je nu mensen die er in geïnteresseerd zijn, het bos in waar ze hopeloos zullen verdwalen.

Dat code werkt bij mij zeer goed, ik gebruik dat nu meer dan twee maanden zonder probleem.

Dezer reactie was exact degene die ik verwacht had.

Ik heb niet gezegd dat jouw code niet werkt, maar wel dat wat jij hier gepubliceerd hebt niet werkt.
Wanneer je iets met programmeren wil doen, dan zul je moeten leren om (instructies) te lezen.
Maar schijnbaar is dat te lastig.

Ik heb gezien , was mijn fout dat ik heb zo maar copy/paste gebruik , but why so .....? " Ik heb niet gezegd dat jouw code niet werkt, maar wel dat wat jij hier gepubliceerd hebt niet werkt.
Wanneer je iets met programmeren wil doen, dan zul je moeten leren om (instructies) te lezen.
Maar schijnbaar is dat te lastig. " .Yes sir , yes sir , wereld is aan einde nu , sorry ik zaal doen , sorry