Get the latest tech news
Autocorrect in Your Keyboard Firmware (2021)
h QMK Pascal Getreuer, 2021-10-30 (updated 2022-11-28) - Overview - Add autocorrection to your keymap - How does it work? - Changing the autocorrection dictionary - Troubleshooting - Acknowledgements - Closing thoughts - Appendix: Trie binary data format ๐ Launched Autocorrect is now a core QMK feature! It was released on 2022-11-26. Update your QMK set up and see QMK Autocorrect.
:guage -> gauge :the:the: -> the :thier -> their :ture -> true accomodate -> accommodate acommodate -> accommodate aparent -> apparent aparrent -> apparent apparant -> apparent apparrent -> apparent aquire -> acquire becuase -> because cauhgt -> caught cheif -> chief choosen -> chosen cieling -> ceiling collegue -> colleague concensus -> consensus contians -> contains cosnt -> const dervied -> derived dosen't -> doesn't fales -> false fasle -> false fitler -> filter flase -> false foward -> forward frequecy -> frequency gaurantee -> guarantee guaratee -> guarantee heigth -> height heirarchy -> hierarchy inclued -> include interator -> iterator intput -> input invliad -> invalid lenght -> length liasion -> liaison libary -> library listner -> listener looses: -> loses looup -> lookup manefist -> manifest namesapce -> namespace namespcae -> namespace occassion -> occasion occured -> occurred ouptut -> output ouput -> output overide -> override postion -> position priviledge -> privilege psuedo -> pseudo recieve -> receive refered -> referred relevent -> relevant repitition -> repetition reuslt -> result retrun -> return retun -> return reutrn -> return saftey -> safety seperate -> separate singed -> signed stirng -> string strign -> string swithc -> switch swtich -> switch thresold -> threshold udpate -> update widht -> width I am anxiously aware that a keyboard microcontroller has limited resources. For reference, the firmware size cost for mouse keys is 2124 bytes and the CPU time to process a layer switch is about 70 ยตs, so autocorrection is cheaper than those things. Side note: as Thomas Baart describes, link time optimization (LTO) helps a lot to reduce firmware size.
Or read this on Hacker News