În ceea ce privește funcțiile de codare, tastaturile pot fi împărțite în două tipuri: tastaturi complet codificate și tastaturi necodate.
O tastatură complet codificată este o funcție de recunoaștere a tastaturii completată de hardware. Acesta generează o informație de codificare corespunzătoare (cum ar fi codul ASCII) identificând dacă o tastă a fost apăsată și poziția tastei apăsată. O tastatură fără codificare este o funcție de recunoaștere a tastaturii completată de software. Utilizează hardware simplu și un program dedicat de codare a tastaturii pentru a recunoaște poziția tastelor, iar apoi CPU-ul convertește codul de poziție în informații de codare corespunzătoare printr-un program de căutare. Viteza tastaturilor fără codificare este relativ scăzută, dar structura lor este simplă, iar software-ul poate oferi o mare comoditate pentru redefinirea anumitor taste.