Go Down

Topic: keyboard layout belgian (Read 1 time) previous topic - next topic

kidd

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? 

kidd

na wat zoekwerk ben ik op deze website uitgekomen:

https://github.com/Nurrl/LocaleKeyboard.js

ik heb daarna het bestand be_BE.lang
 
die je hier kan terug vinden :

https://github.com/Nurrl/LocaleKeyboard.js/blob/master/locales/be_BE.lang

gekopieerd in :

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

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

MAS3

Hoi kidd, welkom nog.

Netjes dat je je oplossing ook vermeld hebt, zodat anderen er ook wat aan hebben.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

robbelouwet

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

STEFANIUC

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 &é"'(('"§è

Kromhout27

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.

STEFANIUC

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;
    }
  }
}

MAS3

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.

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

STEFANIUC

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

MAS3

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.

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

STEFANIUC

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


Go Up