Etape 4: Explication du code

keyboard.json
keyboard.json

Le fichier keyboard.json est un fichier de description utilisé pour définir les caractéristiques matérielles d’un clavier et sa compatibilité avec Vial. Ce fichier sert principalement à décrire la disposition matérielle du clavier, y compris :

  • Informations générales
    • « manufacturer »: « Robopoly » → Le fabricant du clavier
    • « keyboard_name »: « 3x3_v2 » → Nom du clavier
    • « bootloader »: « atmel-dfu » → Type de bootloader utilisé (ici, Atmel DFU pour flasher le firmware)
  • Matériel et microcontrôleur
    • « processor »: « atmega32u4 » → Le microcontrôleur utilisé
    • « diode_direction »: « COL2ROW » → Direction du circuit de diodes dans la matrice
  • Matrice du clavier
    • Définit les broches (pins) utilisées pour les colonnes et les rangées.
      « matrix_pins »: {
      « cols »: [« F4 », « F5 », « F6 »],
      « rows »: [« E6 », « B4 », « B5 »]
      }
  • USB & Identifiants
    • « vid »: « 0xFEED », « pid »: « 0x6060 » → Identifiants USB pour le clavier
    • « device_version »: « 1.0.0 » → Version du clavier
  • Disposition des touches (layout)
    • Décrit la position des touches dans la matrice et leur position physique en X, Y.
      {« matrix »: [0, 0], « x »: 0, « y »: 0},
      {« matrix »: [0, 1], « x »: 0, « y »: 1},
      {« matrix »: [0, 2], « x »: 0, « y »: 2},

vial.json
vial.json

Le fichier vial.json est une configuration utilisée par Vial pour décrire un clavier programmable. Il est similaire au fichier keyboard.json précédent mais simplifié et destiné à la reconnaissance du clavier par vial.

  • Éclairage :
    • « lighting »: { « type »: « basic », « num_leds »: 4 } → Indique que le clavier dispose d’un système d’éclairage de base avec 4 LEDs.
  • Disposition des touches (layouts.keymap)
    • VIA utilise cette section pour organiser les touches graphiquement dans son interface.

rules.mk
rules.mk

Ce fichier est une configuration rules.mk pour QMK avec Vial, définissant quelles fonctionnalités sont activées ou désactivées lors de la compilation du firmware.


keymap.c
keymap.c

Le fichier keymap.c dans Vial QMK définit la disposition des touches, les couches, les macros et permet de personnaliser le comportement des touches.

Pour changer l’image qui s’affiche sur l’écran OLED vous pouvez aller sur le site image2cpp ou un site similaire, importer votre image et changer le canvas size en 128×32. Dans output changer le « Code output format  » en Plain bytes et choisir 1 bit pixel.


config.h
config.h

Ce fichier sert principalement à définir des constantes et des paramètres de compilation pour le firmware du clavier.