Keyboard doesn't perlu ada sinyal dari komputer, power, kan? ATAU apakah itu perlu untuk menerima sinyal serta mengirim mereka?
Edit: saya didn't berharap pertanyaan ini untuk menghasilkan banyak bunga! Saya bertanya ini karena saya telah menganggur mimpi membangun sebuah alat kecil yang duplikat sinyal agar keyboard bisa mengirim surat yang sama untuk dua komputer sekaligus. Sejak (dari apa yang saya bisa keluar dalam jawaban) komputer secara aktif mengontrol keyboard seperti perangkat lain, ini jelas isn't mungkin. Bukan masalah besar karena praktis aku didn't memiliki keterampilan untuk membangun itu pula!
Dari "Perangkat Kelas Definisi untuk Antarmuka Manusia Devices (HID)" versi 11.1" spesifikasi:
Sinkronisasi antara LED serikat dan CAPS LOCK, NUM LOCK, SCROLL KUNCI, MENULIS, dan KANA acara dipertahankan oleh tuan rumah dan TIDAK keyboard. Jika menggunakan keyboard kunci pada Lampiran B, LED serikat ditetapkan oleh pengiriman 5-bit mutlak laporan untuk keyboard melalui Set_Report(Output) permintaan.
Untuk mengubah keyboard Led, keyboard menerima perintah untuk melakukannya. Jadi, tidak "input-hanya" perangkat (yang berarti itu hanya output data ke host).
Bahwa menjadi kata, ada negosiasi dan pencacahan dengan semua perangkat USB yang memerlukan back-dan-sebagainya percakapan antara host dan perangkat. Anda dapat't memiliki "hanya-baca" perangkat USB.
Bahkan sebelum USB, PC keyboard controller akan menerima perintah karena itu beberapa hal selain membaca keyboard (referensi):
Jika keyboard yang terpisah perifer sistem unit (seperti pada banyak komputer desktop), keyboard controller adalah tidak secara langsung melekat pada kunci, tapi menerima scancodes dari mikrokontroler tertanam dalam keyboard melalui beberapa jenis antarmuka serial. Dalam hal ini, controller biasanya juga mengontrol keyboard's Led dengan mengirimkan data kembali ke keyboard melalui kawat.
IBM PC AT menggunakan Intel 8042 chip untuk antarmuka keyboard. Komputer ini juga dikendalikan akses ke garis A20 dalam rangka untuk menerapkan solusi untuk chip bug di Intel 80286.1 keyboard controller juga digunakan untuk memulai suatu software CPU ulang dalam rangka untuk memungkinkan CPU untuk transisi dari protected mode untuk mode real1 karena 286 tidak memungkinkan CPU untuk pergi dari protected mode untuk modus real, kecuali CPU reset. Ini adalah masalah karena BIOS dan sistem operasi jasa hanya dapat dipanggil oleh program dalam modus real.
perilaku Ini telah digunakan oleh banyak perangkat lunak yang mengharapkan perilaku ini, dan oleh karena itu keyboard controller terus mengendalikan A20 line dan perangkat lunak performa CPU ulang bahkan bila perlu untuk me-reset melalui keyboard controller terhindarkan oleh Intel 80386's kemampuan untuk beralih ke real mode dari mode dilindungi tanpa CPU reset.
Setiap perangkat USB terlepas dari kelas membutuhkan komunikasi dua arah fungsi. Setiap perangkat USB (atau fungsi dalam hal spesifikasi USB) diwakili sebagai satu set endpoint yang dapat dianggap sebagai buffer yang menerima atau menerima data. Namun, bahkan endpoint yang hanya dapat mengirimkan data yang menunggu untuk khusus paket yang disebut token sebelum mereka dapat balasan:
(gambar diambil dari sini, abu-abu kotak mewakili USB host, putih kotak-kotak yang mewakili fungsi USB)
Bahkan disebut mengganggu transfer dilakukan dalam cara ini, dengan host USB polling perangkat yang terhubung menggunakan token paket. Apa yang berbeda antara regular (bulk) transfer dan mengganggu transfer adalah bahwa waktu pemungutan suara yang kecil dan dijamin dalam kasus terakhir. Namun, semua transfer yang diprakarsai oleh tuan rumah.
Pertanyaan mencerminkan kesalahpahaman umum bahwa perangkat USB "kirim" sesuatu untuk PC mereka sendiri ketika tombol ditekan (atau mouse bergerak), yang's mengapa begitu perhatian yang tinggi. Bahkan, perangkat USB don't mengirim apa-apa sampai mereka MENERIMA corresponding permintaan dari tuan rumah. Satu pengecualian adalah wake-up proses dari langit-perangkat.
Sedangkan USB terlihat sederhana di permukaan, pada kenyataannya fungsi yang cukup rumit. Setiap perangkat USB yang baru harus "dicacah" pertama sebelum mulai berfungsi. Urutannya adalah sebagai berikut:
Setelah keyboard yang terpasang di port host menerima "menghubungkan status" signal (LS sinyal, D - ditarik TINGGI dengan keyboard).
Kemudian host set port ke "port reset" modus, dan USB PHY (lapisan fisik pengemudi) mengirimkan "USB_RESET" turun D+/D - garis (kedua garis didorong RENDAH untuk jumlah yang ditentukan dari waktu). Beberapa info tentang "port reset" untuk FS/HS perangkat dapat ditemukan di sini]1.
Kemudian tuan rumah mulai output frame batas paket pada 1ms interval. Untuk kecepatan Rendah (LS) perangkat seperti biasa kabel keyboard, ini hanya "tetap hidup" kacang-kacangan, sedangkan untuk FS khusus SOF - mulai-dari-frame paket-paket yang dihasilkan. Paket ini menjaga perangkat anda dalam modus aktif dan mencegahnya dari melakukan ke-daya rendah MENANGGUHKAN.
Kemudian "pencacahan" dimulai. Host mengirimkan permintaan untuk mendapatkan perangkat kata kunci. Permintaan dikirim ke "default pipa" dengan perangkat anda, "0". [Hanya ada satu perangkat tersebut saat ini - keyboard - karena semua perangkat lain pada bus sudah harus memiliki mereka secara individu ditugaskan USB alamat]
Keyboard kembali informasi yang diminta, sehingga host akan dapat menentukan apa jenis driver harus dimuat.
Host mengirimkan transaksi yang memerlukan perangkat untuk mengubah default alamat baru ditugaskan alamat.
Kemudian tuan rumah memulai babak baru komunikasi dengan perangkat, sekarang di alamat yang ditetapkan. Semua perangkat lain mengabaikan komunikasi ini karena itu tidak ditujukan kepada mereka.
Tuan rumah mungkin membaca lebih banyak informasi dari beberapa deskriptor, dan akhirnya memilih "konfigurasi perangkat". Ini menyimpulkan proses pencacahan.
Tergantung pada perangkat USB kelas, tuan rumah mulai berkomunikasi dengan perangkat. Dalam kasus keyboard, host mengirimkan dasarnya "DALAM" permintaan secara berkala, pada dasarnya polling perangkat (bahkan jika periodik ini adalah pipa yang disebut "mengganggu" pipa). Jika keyboard memiliki tombol apa saja yang ditekan/tertekan, keyboard akan kembali informasi ini. Jika tidak, tidak ada data yang akan dikembalikan ke device driver.
Pendek, setiap perangkat USB harus menerima alamat unik dari USB host, dan dua USB host akan memiliki kesulitan untuk berkomunikasi dengan perangkat - bus tabrakan, alamat ketidakcocokan, random mencegat dari menekan tombol data, dll. Protokol USB membuatnya mustahil untuk berbagi perangkat antara dua USB host.
Sebagai jawaban lain telah menjelaskan, USB membutuhkan komunikasi dua arah sebagai bagian dari cara kerjanya. PS/2, sementara memungkinkan komunikasi dua arah, doesn't membutuhkan itu dalam rangka untuk mengirim kunci untuk komputer, namun tidak memerlukan itu untuk mengatur keyboard Led.
Secara teoritis, anda bisa membangun sebuah perangkat untuk menduplikasi PS/2 sinyal dan mengirimkannya ke komputer kedua, dan membuang setiap perintah dari komputer, sehingga anda'a dapat mengirim tombol yang ditekan untuk beberapa komputer tetapi keyboard Led tidak't menanggapi num lock, caps lock, dan scroll lock serikat (atau yang lain mengubah LED negara, misalnya di Linux Led keyboard kadang-kadang digunakan untuk tujuan alternatif).
I'm tidak yakin seberapa rumit proyek tersebut akan menjadi. It's been a while sejak saya bekerja dengan PS/2, jadi saya don't tahu jika anda hanya bisa menjembatani beberapa kabel/konektor atau jika anda akan memerlukan sebuah perangkat aktif (misalnya mikrokontroler) untuk lulus perintah dalam satu arah tapi buang mereka di lain. Jika anda tidak memiliki sebuah mikrokontroler, anda bahkan bisa membuat perangkat tersebut yang dapat menafsirkan keyboard LED perintah dan "menggabungkan" mereka untuk display (misalnya panjang flash LED jika pada komputer satu tapi off pada komputer dua, short flash LED jika pada komputer dua tapi off pada satu komputer, LED stabil jika pada pada kedua komputer, dan LED off jika itu adalah off pada kedua komputer). Itu akan menjadi lebih maju sekalipun.
Juga, jika tujuan anda adalah untuk dapat mengendalikan suatu komputer dari komputer lain, atau dua komputer dari meja yang sama, atau apa pun, anda mungkin ingin melihat ke dalam:
Sebelum keyboard USB, PS/2 keyboard yang digunakan lebih sederhana protokol di mana adalah mungkin untuk memiliki satu keyboard yang terhubung ke 2 perangkat dan telah bekerja. Sederhana Y sambungan adalah semua yang diperlukan.
Tua USB keyboard masih punya PS/2 modus emulasi dibangun; menggunakan salah satu dari orang-ungu konektor adapter memungkinkan anda colokkan ke PS/2 port di bagian belakang komputer. Jadi, menggunakan USB to PS/2 breakout kabel pada 2 komputer, kemudian ungu adaptor kembali ke USB keyboard dapat bekerja dengan baik.
Baru keyboard USB turun warisan PS/2 mode, jadi tidak't bekerja untuk kasus ini.