Một bàn phím bao gồm một bộ chuyển mạch đặt trong một lưới hay một mạng được gọi là key matrix. Khi một mạch chuyển được nhắn, bộ xử lý trong bàn phím xác định phím nào được gỡ bằng cách định vị trí lưới nào trong ma trần cho thấy sự liên tục. Bộ xử lý bàn phím, cũng biên dịch phím được nhấn lâu như thế nào, thậm chí có thể xử lý nhiều nhấn phím cùng lúc. Một bộ nhớ đệm phần cứng 16 byte (buffer) trong bàn phím có thể xử lý việc gõ phím nhanh hay gõ nhiều phím, chuyển đổi phím tới hệ thống liên tiếp.
Khi gõ một phím, phần tiếp xúc này nhẹ trong hầu hết trường hợp, nghĩa là vài chu kỳ bật/tắt nhanh xảy ra chỉ khi mạch chuyển thực hiện một tiếp xúc. Đây được gọi là bounce. Bộ xử lý trong bàn phím được thiết kế để lọc việc này hay “hãm” việc gõ phím. Bộ xử lý bàn phím phải phân biệt việc nẩy từ gõ một phím hai lần mà người thao tác bàn phím thực hiện. Thế nhưng điều này khá dễ, do việc nẩy nhanh nhiều hơn một người có thể dựa theo bằng cách gõ một phím nhanh vài lần.
Bàn phím máy tính thực tế là một máy tính. Nó tiếp xúc với hệ thống chính theo một trong hai cách:
+ Qua một kết nối dữ liệu serial đặc biệt nếu dùng đầu nối bàn phím PS/2 tiêu chuẩn.
+ Qua cổng USB.
Kết nối dữ liệu được sử dụng bởi bàn phím thông thường truyền và nhận dữ liệu các gói thông tin 11 bít, bao gồm 8 bit dữ liệu cộng với bit kiến trúc và bit điều khiển. Mặc dù đích thực là kết nối serial (trong đó dữ liệu theo một dây dẫn kim loại), giao diện bàn phím không tương thích với cổng serial RA-232 tiêu chuẩn thường được sử dụng để kết nối modem.
Bộ xử lý trong bàn phím máy tính đầu tiên là chip vi bộ điều khiển Intel 8048. Bàn phím mới hơn thường dùng phiên bản 8049 dựng sẵn trong ROM hay các chip vi bộ điều khiển tương thích với 8048 hoặc 8049. Cho thí dụ, trong bàn phím nâng cao, IBM luôn luôn dùng phiên bản tùy biến của bộ xử lý Motorola 680, tương thích với các chip Intel. Bộ xử lý dựng sẵn của bàn phím đọc ma trận phím, hãm tín hiệu gõ phím, chuyển gõ phím thành mã quét đúng và truyền mã này đến bo mạch. Bộ xử lý này chứa Ram của chính nó, có thể một số ROM và giao diện serial.
Trong thiết kế PC/XT đầu tiên, giao diện serial bàn phím được kết nối đến chip PPI 8255 (Programmable Periphieral Interface) trên bo mạch chủ PC/XT. Chip này được kết nối đến dòng IRQI bộ điều khiển ngắt, được sử dụng để truyền tín hiệu đến hệ thống mà dữ liệu bàn phím có sẵn. Kế tiếp dữ liệu này được gửi từ 8255 đến bộ xử lý qua cổng I/O địa chỉ 60h. Tín hiệu IRQI làm bộ xử lý hệ thống chính chạy một thủ tục con (INT 9h) biên dịch dữ liệu mã quét của bàn phím và quyết định làm gì.
Trong thiết kế bàn phím loại AT, giao diện serial bàn phím được kết nối đến bộ điều khiển bàn phím chuyên dụng trên bo mạch. Bộ điều khiển này là chip vi bộ điều khiển phụ Intel 8042 UPI (Universal Peripheral Interface) trong thiết kế AT. Bộ vi điều khiển này thực chất là bộ xử lý khác có riêng 2KB ROM và 128 byte RAM. Phiên bản 8742 dùng EPROM (Erasable programmable read-only memory) có thể xóa và lập trình lại. Trong quá khứ, khi mua một nâng cấp ROM bo mạch chủ cho hệ thống cũ hơn từ nhà sản xuất bo mạch chủ, việc nâng cấp này cũng bao gồm chip điều khiển mới bởi vì nó có phần nào phụ thuộc và được cập nhật mã ROM trong nó. Một số hệ thống cũ hơn có thể dùng chip 8041 hay 8741, chỉ khác biệt về số lượng ROM hay RAM dựng sẵn. Tuy nhiên hệ thống gần đây kết hợp bộ điều khiển bàn phím vào chipset hệ thống chính.
Khi bộ điều khiển bàn phím trên bo mạch chủ nhận dữ liệu từ bàn phím, nó truyền tín hiệu bo mạch chủ với IRQI và gửi dữ liệu đến bộ xử lý bo mạch chủ qua cổng I/O địa chỉ 60h. Hành động như một đại lý giữa bàn phím và bộ xử lý hệ thống chính, bộ điều khiển bàn phím loại 8042 biên dịch các mã quét và cũng thực hiện vài chức năng. Hệ thống cũng gửi dữ liệu đến bộ điều khiển bàn phím 8042 qua cổng 60h, kế tiếp chuyển nó vào bàn phím. Ngoài ra, khi hệ thống cần gửi các lệnh đến hay đọc tình trạng của bộ điều khiển bàn phím trên bo mạch chủ, nó đọc và ghi qua cổng I/O 64h. Những lệnh này thường được theo sau bởi dữ liệu gửi qua lại qua cổng 60h.
Bộ điều khiển bàn phím 8042 cũng được sử dụng bởi hệ thống để điều khiển dòng địa chỉ bộ nhớ A20, cung cấp sự truy cập đến bộ nhớ hệ thống lớn hơn 1MB. Nhiều bo mạch chủ hiện đại thường kết hợp chức năng này trực tiếp vào chipset bo mạch chủ. Đầu nối bàn phím AT được đặt tên lại là cổng “PS/2” sau khi dòng hệ thống IBM PS/2 xuất hiện đầu tiên năm 1987. Đó là thời gian đầu nối này thay đổi kích cỡ từ DIN sang mini-DIN và mặc dù các tín hiệu như nhau, phiên bản mini-DIN từ đó được biết đến như cổng PS/2.
Bàn phím được kết nối đến cổng USB hoạt động kiều tương tự như bàn phím kết nối với cổng DIN hay mini-DIN (PS/2) sau khi dữ liệu đến hệ thống. Bên trong bàn phím có một loạt chip điều khiển tùy chỉnh được sử dụng bởi nhiều nhà sản xuất bàn phím để nhận và biên dịch dữ liệu bàn phím trước khi gửi nó đến hệ thống qua cổng USB. Một số trong những chip này chứa bộ chuyển logic để cho phép bàn phím hoạt động như một bộ chuyển. Sau khi dữ liệu bàn phím đến cổng USB trên hệ thống, cổng USB này dẫn dữ liệu đến bộ điều khieenr bàn phím tương thích 8042, nơi dữ liệu được xử lý như bất kỳ thông tin bàn phím khác.
Quy trình này hoạt động rất tốt sau khi hệ thống đã khởi động vào Windows. Nhưng người sử dụng thế nào lúc cần bàn phím khi chạy hệ điều hanh cũ hơn không nhận USB hay trong thủ tục cấu hình BIOS? Vấn đề này được giải quyết bằng cách phải có hỗ trợ kế thừa USB (USB Legacy support) và hiệu lực trong BIOS Setup. (Xem “Bảng chọn cấu hình USB cao cấp” trong chương 5 “BIOS”.
Theo “Nâng cấp và sửa chữa máy tính” Scott Mueller