PROBLEMA Compilare Firmware personalizzato per Keychron Q2

Magniflex99

Nuovo Utente
125
5
CPU
i7-10875H
Dissipatore
5 tubi di calore, 2 ventole e 3 radiatori.
Scheda Madre
FCBGA1440
HDD
2 SSD da 1Tb ciascuno. (Intel e Crucial)
RAM
32 GB ddr4 3200mhz
GPU
Nvidia RTX 2070 Super Mobile (115 watt)
Audio
Windows
Monitor
1080p 16:9 240hz 3ms
PSU
Esterno da 240 wat
Case
back panel in alluminio, poggia polsi e fondo in plastica
Net
Wifi e Ethernet
OS
Windows 11 home
Vorrei poter aggiungere alcune interessanti funzionalita' alla mai Keychron Q2, ma sfortunatamente non ho alcun tipo di esperienza in merito (e' la mia prima meccanica).
Sono bloccato tra Visual Studio Code, e QMK MSYS, e non ne riesco proprio avenire a capo. Le modifiche che volevo apportare non credo siano complesse, anche perche' su GitHub e' disponibile tutoo il Codice Sorgente per la mia tastiera...
 

alan0ford

Utente Attivo
1,214
524
Se non hai esperienza devi studiare, la documentazione non manca; se fai domande sui forum devono essere circostanziate e precise, inutile scivere cose generiche.

La Q2 mi pare monti un firmware già compatibile con VIA, fatto appunto per chi non sa compilare. Il mio consiglio è passare da lì:
 

Magniflex99

Nuovo Utente
125
5
CPU
i7-10875H
Dissipatore
5 tubi di calore, 2 ventole e 3 radiatori.
Scheda Madre
FCBGA1440
HDD
2 SSD da 1Tb ciascuno. (Intel e Crucial)
RAM
32 GB ddr4 3200mhz
GPU
Nvidia RTX 2070 Super Mobile (115 watt)
Audio
Windows
Monitor
1080p 16:9 240hz 3ms
PSU
Esterno da 240 wat
Case
back panel in alluminio, poggia polsi e fondo in plastica
Net
Wifi e Ethernet
OS
Windows 11 home
Se non hai esperienza devi studiare, la documentazione non manca; se fai domande sui forum devono essere circostanziate e precise, inutile scivere cose generiche.

La Q2 mi pare monti un firmware già compatibile con VIA, fatto appunto per chi non sa compilare. Il mio consiglio è passare da lì:
Grazie per la risposta. Gia' provato con VIA, ma sfortunatamente non ti permette di customizzare cosi' a fondo il firmware...ti permette solamente di creare macro e modificare i vari layer.
 

alan0ford

Utente Attivo
1,214
524
Eh appunto, magari lo avessi scritto subito, ci si risparmiava del tempo...

O ti decidi di scrivere chiaramente qual è il problema e cosa vuoi fare, oppure continuiamo a rimpallare messaggi inutili.
 

Magniflex99

Nuovo Utente
125
5
CPU
i7-10875H
Dissipatore
5 tubi di calore, 2 ventole e 3 radiatori.
Scheda Madre
FCBGA1440
HDD
2 SSD da 1Tb ciascuno. (Intel e Crucial)
RAM
32 GB ddr4 3200mhz
GPU
Nvidia RTX 2070 Super Mobile (115 watt)
Audio
Windows
Monitor
1080p 16:9 240hz 3ms
PSU
Esterno da 240 wat
Case
back panel in alluminio, poggia polsi e fondo in plastica
Net
Wifi e Ethernet
OS
Windows 11 home
Eh appunto, magari lo avessi scritto subito, ci si risparmiava del tempo...

O ti decidi di scrivere chiaramente qual è il problema e cosa vuoi fare, oppure continuiamo a rimpallare messaggi inutili.
Mi dispiace se non sono sembrato molto chiaro ma credo che dal titolo non ci voglia molto a dedurre cosa vorrei cercare di fare. Il termine compilare in gergo informatico non credo abbia tanti altri significati eh...
Poi certo, se una persona vuole continuare solamente ad essere un utilizzatore, senza mai sperimentare qualcosa di nuovo, per andare oltre le sue capacita', ovvio che certi termini nemmeno interessano...
Comunque, tornando al problema, ho usato Visual Studio Code per la modifica del Codice Sorgente messo a disposizione su GitHub dal produttore, per la mia tastiera. Nonostante mi manchi di modificare alcune funzionalita', per cui avro' bisogno di maggiori approfondimenti, all' interno delle pagine di QMK, dovrei capire come fare a compilare il firmware, per provare se intanto, le modifiche apportate risultano stabili, ed e' qui che sta il problema, non so come compilarlo, so che bisogna usare QMK MSYS, ma non capisco quale sia l' operazione precisa. Poi ovviamente per il flashing usero' QMK Toolbox, quella e' la parte meno complicata, e saprei dove mettere le mani.
 

alan0ford

Utente Attivo
1,214
524
Sarò io troppo vecchio, la cosa che mi irrita è una persona che scrive in un forum pubblico e gratuito, chiedendo aiuto, senza spiegare cosa ha già fatto e cosa non riesce, e/o eventuali errori, obbligando l'eventuale persona di buona volontà a fare mille domande per capire e cercare di risolvere il problema (l'hai messo tu il TAG PROBLEMA, non io). Il problema è che ti scoccia leggere la guida?


Per compilare un file HEX è sufficiente lanciare un comando, lo scrive persino la console:
alice45.gif

Alla fine della compilazione conviene sempre cancellare la cartella ".build" ogni volta, soprattutto in caso di errori.

Bye (anche tu con gli altri)
 
  • Mi piace
Reazioni: Magniflex99

Magniflex99

Nuovo Utente
125
5
CPU
i7-10875H
Dissipatore
5 tubi di calore, 2 ventole e 3 radiatori.
Scheda Madre
FCBGA1440
HDD
2 SSD da 1Tb ciascuno. (Intel e Crucial)
RAM
32 GB ddr4 3200mhz
GPU
Nvidia RTX 2070 Super Mobile (115 watt)
Audio
Windows
Monitor
1080p 16:9 240hz 3ms
PSU
Esterno da 240 wat
Case
back panel in alluminio, poggia polsi e fondo in plastica
Net
Wifi e Ethernet
OS
Windows 11 home
Sarò io troppo vecchio, la cosa che mi irrita è una persona che scrive in un forum pubblico e gratuito, chiedendo aiuto, senza spiegare cosa ha già fatto e cosa non riesce, e/o eventuali errori, obbligando l'eventuale persona di buona volontà a fare mille domande per capire e cercare di risolvere il problema (l'hai messo tu il TAG PROBLEMA, non io). Il problema è che ti scoccia leggere la guida?


Per compilare un file HEX è sufficiente lanciare un comando, lo scrive persino la console:

Alla fine della compilazione conviene sempre cancellare la cartella ".build" ogni volta, soprattutto in caso di errori.

Bye (anche tu con gli altri)
Ti chiedo scusa per la mia superficialita', ma ammeto che oltre ad averci perso le speranze di trovare qualcuno che se ne intenda veramente, ho perso anche la pazienza: ho visitato e chiesto in tanti altri forum e gruppi Tg, prima di chiedere su Toms, poiche' mi sembravano piu' specifici sul lavoro che volessi fare. Grazie comunque per avermi provato ad aiutare, nonostante la mia non-collaborazione, nel risolvere un mio inconveniente. Comunque per onesta' e giustizia, scrivero' tutto quello che volevo fare, per filo e per segno, essendo il piu' specifico possibile (com' e' giusto che sia).

Allora, posseggo questa Keychron Q2 da ormai un anno (e' la mia prima tastiera meccanica), e devo dire che mi ci sono trovato bene fin dal primo momento, nonostante abbia poi migliorato la mia esperienza, moddandola, ovvero, applicando il solito fondo in foam, migliori stabs, e dei keycaps di miglior fattura (Akko Neon). Qualche giorno fa', mi sono ritrovato sul sito ufficiale, per controllare gli update del firmware, insomma, se fosse disponibile una nuova versione, e con mio gran stupore, ho notato una nuova sezione, quella riguardante il Codice Sorgente. Le Keychron sono da sempre open source, ma l' apposito link, che reindirizza alla pagina GitHub, e' stato solo da poco portato nella pagina principale del prodotto, rendendolo meglio visibile. Quindi mi sono da subito deciso a studiare se potessi in qualche modo migliorare il firmware della mia tastiera, o fosse gia' effettivamente alla massimo delle sue funzionalità cosi come' e'. Ho scoperto che effettivamente c' erano delle opzioni di personalizzazione molto interessanti, che avrebbero potuto fare la differenza nella mia esperienza, e che avevo visto adottare anche da altre tastiere custom, ma non mi ero fatto tante domande all' epoca, perche' mi ero fatto l' idea che fossero delle personalizzazioni proprietarie, e la mia tastiera, semplicemente, era "cosi'". Ho quindi iniziato a fare una ricerca online in base a quali sarebbero potute essere delle funzionalita' in piu' che avrei potuto ottenere anche sulla mia tastiera, modificando e compilando il codice sorgente della stessa, ed ho trovato ciò:

Riguardanti gli effetti di luce dinamici, in base all' interazione con i tasti:
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

Miglioramento delle prestazioni:
#define USB_POLLING_INTERVAL_MS 1
#define QMK_KEYS_PER_SCAN 12

fn layer highlighting: per quest' ultima ancora sono in mare aperto, perche' credo sia un po' tedioso il procedimento, ma vorrei poter retroilluminate di bianco i tasti influenzati dall' Fn, in modo da poter avere una mappatura piu' chiara dei tasti funzione (ovviamente disabilitando qualunque altra retroilluminazione dalla tastiera, fin tasto che Fn e' premuto).

Mi sono messo quindi ad apportare le modifiche su cui ero sicuro di non sbagliare, tramite Visual Studio Code, poiche' ho dimestichezza con questo programma, ma la prima difficolta' e' nata con la compilazione, non sapevo come farla. Ho poi successivamente scoperto che per la compilazione dei firmware per le tastiere, era necessario un programma (utilizzabile anche come stesso editor) ovvero QMK MSYS. Una volta installato mi son0o ritrovato comunque in difficolta', poiche' non conoscendolo, non sapevo dove mettere le mani per avviare un' eventuale compilazione di un firmware di prova.... per il flashing non credo avrei difficolta', ho sempre usato QMK Toolbox, per fleshare il firmware Stock, e non credo che la procedura si distacchi piu' di tanto.
Ed eccomi qui, con un codice modificato a meta', un QMK MSYS che e' come arabo, e quasi una settimana di ricerche di forum in forum e gruppi su gruppi, su di una guida chiara e semplice in merito. Giuro che se riesco ne faccio una io! Allego qualche foto della mia tastiera e un link del suo GitHub.

 

Allegati

  • PXL_20230104_205154477.jpg
    PXL_20230104_205154477.jpg
    4.4 MB · Visualizzazioni: 10
  • PXL_20230104_205222561.jpg
    PXL_20230104_205222561.jpg
    4.5 MB · Visualizzazioni: 10
  • PXL_20230104_205212166.jpg
    PXL_20230104_205212166.jpg
    4.2 MB · Visualizzazioni: 9

alan0ford

Utente Attivo
1,214
524
Ho visto il tuo post dal cellulare (che non è loggato), mannaggia a te, ci voleva tanto...

Dunque, ho dovuto aggiornare il mio QMK all'ultima versione 0.19.6 perché la mia vecchia dava un sacco di errori (in compenso non compilo più le mie, farò un downgrade se riesco - QMK è così, va sempre avanti aggiungendo funzioni e deprecando le vecchie), comunque la compilazione della Q2 è andata a buon fine.

La tua tastiera (lo vedo dalle foto), è una ANSI senza encoder; nella repository di QMK (percorso qmk_firmware/keyboards/keychron/q2/ansi) ci sono quattro keymaps, "default", "keychron", "ladduro" e "via"; non so quale delle quattro tu voglia compilare, comunque, una volta che tu modifichi come ti pare - aggiungendo le tue funzioni - il file "config.h" presente nella cartella q2, supponendo di scegliere come keymaps il "via", da MSYS dai il comando:

Codice:
qmk compile -kb keychron/q2/ansi -km via

Alla fine di tutti gli [OK] viene generato un file .BIN nella cartella qmk_firmware.

compile.jpg
 
Ultima modifica:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!