Wat is een toetsenbordcontroller?
Een toetsenbordcontroller is een type geïntegreerd circuit in de meeste computers dat is ontworpen om invoer van een toetsenbord te accepteren en te verzenden naar de centrale verwerkingseenheid (CPU), waar het vervolgens kan worden doorgegeven aan het besturingssysteem voor interpretatie. In het algemeen, wanneer een toetsenbordcontroller een signaal ontvangt van een toetsenbord of een vergelijkbaar invoerapparaat, genereert het een signaal dat bekend staat als een interrupt waardoor de CPU de uitvoering kort stopt, zodat deze het signaal kan verwerken dat de toetsenbordcontroller verzendt. Afhankelijk van verschillende hardwarespecificaties ontvangt een toetsenbordcontroller verschillende reeksen bits van het toetsenbord en geeft deze informatie vervolgens door een opzoektabel, waar de informatie wordt vertaald in bytes die bekend staan als scancodes die gemakkelijker kunnen worden geïnterpreteerd door de CPU. De controller verwerkt ook de interpretatie van enkele fysieke aspecten met betrekking tot een toetsenbord, zoals het indrukken van een timertoets wanneer een toets lang wordt ingedrukt, en het activeren of deactiveren van de light-emitting diodes (LED's) die cijferslot of hoofdletterblokkering aangeven op het toetsenbord zelf.
De locatie van de toetsenbordcontroller kan variëren, maar het geïntegreerde circuit bevindt zich traditioneel op het moederbord van de computer. In gevallen waarin het toetsenbord geen integraal onderdeel van de computer is, bevindt de controller zich bijna nooit in de hardware van het toetsenbord. Het tegenovergestelde geldt voor toetsenborden die deel uitmaken van de computerstructuur, zoals in een laptop. Er zijn ook situaties waarin er geen afzonderlijke toetsenbordcontroller is, maar de functionaliteit wordt geëmuleerd via andere delen van de processor.
De hardware die zich in een traditioneel computertoetsenbord bevindt, stuurt informatie naar de controller over welke toetsen zijn ingedrukt, meestal door een verandering in de stroom onder de afzonderlijke toetsen te meten. Dit signaal is gestandaardiseerd door een circuit vergelijkbaar met de toetsenbordcontroller in de computer. Dit betekent dat elk toetsenbord kennis heeft van zijn eigen topografie en de locatie en opstelling van de toetsen en hetzelfde signaal kan verzenden wanneer een gebruiker op de Return-toets drukt, ongeacht waar de toets op het toetsenbord zit of wat voor fysiek ontwerp het toetsenbord heeft .
De controller in de hoofdcomputer neemt dit signaal en zet het om in een scancode, die gemakkelijker wordt geïnterpreteerd door de CPU. Modificatietoetsen, zoals shift of controle, worden doorgegeven samen met andere toetsen die worden ingedrukt. Op dit moment stuurt de toetsenbordcontroller een signaal naar de CPU waardoor deze de huidige actie stopt en de scancodes ophaalt. De CPU geeft vervolgens de scancodes door aan het systeem waar in veel besturingssystemen een systeemgebeurtenis wordt gegenereerd en doorgegeven om te worden verwerkt door het actieve programma.