2017-07-12 7 views
0

Je travaille sur un moyen de "traduire" la disposition du clavier en travaillant sur la valeur de la touche (valeur fixe écrite dans la norme USB HID). Pour ce faire, j'ai besoin de produire une valeur de touche brute (entière), mais je ne sais pas exactement comment les modificateurs changent une telle valeur.Comment les modificateurs de clavier influencent-ils la valeur de la touche?

je tentais de comprendre comment la bibliothèque DigiKeyboard.h fonctionne que sur mais je ne pouvais pas le faire, voici l'extrait de code principal qui le font (je suppose):

size_t write(uint8_t chr) { 
    uint8_t data = pgm_read_byte_near(ascii_to_scan_code_table + (chr - 8)); 
    sendKeyStroke(data & 0b01111111, data >> 7 ? MOD_SHIFT_RIGHT : 0); 
    return 1; 
} 

Toute indication sur la façon de le faire? Merci!

PS. Si cela peut vous aider, je travaille sur ce traducteur pour que les périphériques HID tels que digispark (ATtiny 85) ou le canard en caoutchouc fonctionnent avec toutes les configurations définies par logiciel sans avoir à changer quoi que ce soit sur le système.

Répondre