SCIM, o Smart Common Input Method è una libreria software che fornisce la possibilità di introdurre glifi e caratteri per oltre trenta lingue (sia asiatiche che europee), funzionante sui sistemi operativi che rispettano le direttive POSIX, tra cui ad esempio Linux e BSD.
SCIM è una piattaforma generica di sviluppo, scritta in C++, atta a semplificare la vita per gli sviluppatori di metodi di input. Usa una architettura semplice ed espone un'interfaccia di programmazione particolarmente potente.
SCIM funziona astraendo l'interfaccia di immissione in classi, allo scopo di renderle semplici e indipendenti tra loro. Le interfacce più semplici consentono ad uno sviluppatore di redigere un metodo di immissione proprietario in poche linee di codice.
SCIM è organizzato a moduli; per questo motivo, i suoi componenti possono essere caricati a runtime in forma dinamica, secondo la necessità.
SCIM è una libreria software ad alto livello, simile a XIM o IIIMF, ma con lo scopo di essere più potente e versatile. Si può anche usare per estendere l'interfaccia d'immissione di applicazioni scritte in GTK+ o Qt attraverso il progetto IMmodules.
Questi sono i principali scopi del progetto SCIM: