C’è un modo per far funzionare il CMStorm Quickfire TK su un Mac (macOS Sierra)?

La CMStorm Quickfire TK è una nota problematica.

Questo è facilmente confermato dalla ricerca su Google del nome del dispositivo, e "bugs".

Ci sono anche video su YouTube che dimostrano i problemi con questa tastiera. È noto che ha problemi in Windows, non solo in Mac OS X.

Ho lavorato sul codice del driver di tastiera in u-Boot, e ho anche scritto driver di tastiera per Linux per un certo numero di tastiere, così come driver di tastiera per altri sistemi operativi.

Di solito quando una tastiera è problematica come questa, tende ad essere una macchina di stato buggata nella tastiera; questo è particolarmente vero per le tastiere modali come la CMStorm Quickfire TK che sono destinate all'uso nei giochi.

Rendete conto che ci sono anche alcune interazioni con i driver del sistema operativo che possono essere problematiche.

Ci sono fondamentalmente tre modelli per la gestione della tastiera:

  1. Mac OS X - le tastiere sono dispositivi indipendenti; sono distinte dal loro rapporto di dispositivo USB, che include la nazionalità, l'ID del dispositivo, l'ID del venditore e il numero di serie. Quando distinguibili, sono anche distinte dalla loro posizione nella gerarchia dell'albero dei dispositivi.
  2. Windows - Tutte le tastiere sono considerate un unico dispositivo; i LED sono sincronizzati tra le tastiere forzandoli con i comandi di gestione dei LED inviati alla tastiera dal SO. Per alcune tastiere che supportano comandi estesi - come la CMStorm Quickfire TK - sono supportati correttamente solo se il produttore fornisce un driver per loro. Altrimenti tendono a incasinarsi male.
  3. Linux - Le tastiere sono dispositivi quasi indipendenti. Se colleghi due tastiere ad una macchina Linux, premi il caps-lock su una, il LED si accende solo su quella tastiera, ma il caps lock è attivo per entrambe le tastiere. Se premi il caps lock sulla seconda tastiera, allora il LED si accende sulla seconda tastiera - ma dato che è un toggle, il caps lock è ora spento su entrambe le tastiere. Il blocco numerico funziona allo stesso modo. La maggior parte dei venditori di dispositivi non fornisce driver di tastiera specifici per Linux, e come notato, il modello tastiera/LED-stato di Linux è comunque rotto. Non possono risolverlo alla maniera di Mac OS X, perché gestiscono una gerarchia di dispositivi appiattita, e non possono distinguere le tastiere dalla loro posizione nella gerarchia, solo dal loro ordine di arrivo. Questo può variare, in base alla gestione dell'alimentazione e alle gare di tempo.

Nessuno imposta il numero di serie quando sta masterizzando la PROM per una tastiera USB; questo rende la catena di montaggio di produzione più veloce.

Nessuno imposta la nazionalità. Questo ti permette di serigrafare i keycaps in seguito, e di portare in giro molte meno tastiere nel tuo magazzino.

La maggior parte delle tastiere da gioco sono merda.

Personalmente, dovrei mettere un debugger USB tra la tastiera e il computer per essere sicuro, ma se le stanno ricevendo dal fornitore che penso possa produrre per loro a Shenzhen, Cina - potrebbero avere il firmware rotto.

C'è un noto fornitore di tastiere che ha incasinato i tasti modificatori USB, non impostando i bit fuori banda, solo i bit in banda (questo era uno dei driver per tastiere Linux che ho scritto - funziona intorno a questo bug).

Se ha una tupla ID dispositivo/vendor ID diversa, allora il driver della tastiera che ho scritto non funzionerà intorno al problema con la tua tastiera. Per quanto ne so, Mac OS X non ha un workaround per questo bug (comporta il mantenimento dello stato nel driver della tastiera stessa per i tasti modificatori bloccabili, e la riscrittura dei rapporti del dispositivo per spostare i modificatori in banda nei campi bit fuori banda).

Personalmente, ti suggerirei di comprare un'altra tastiera che non sia così stravagante nelle sue opzioni; puoi trovarle da Fry, o online da Amazon, per soli 0,99 dollari (se sei disposto a vivere con una tastiera Dell), o nel quartiere di circa 2,00$-4,00$ a seconda della tastiera.