TypeM - modifikacija IBM Model M tastature

From Razmjenavjestina-wiki
Jump to: navigation, search

Osjećaj rada na kompjuteru veoma ovisi o tome koliko je kvalitetna tastatura. To je itekako dobro znao IBM Kada je davih 1980-tih IBM krenuo sa svojim PC kompjuterima, odlučio se za buckling spring click tehnlogiju, u to doba najbolju poznatu tehnologiju tastature. A po monogima to je bila i ostala najbolja tastatura ikad. Nakon nje pojavilo se mnogo jeftinih imitacija click tastatura pa su na kraju click tastature došle na loš glas.

Koja je razlika između bezveznog clicka i buckling spring clicka? Bezvezni click nije povezan sa kontaktom tipke pa ako polako pritiskate tipku onda će click doći prije kontaka ili obratno, što daje loš osjećaj prilikom tipkanja.

Buckling spring daje click istovremeno kada uspostavlja i prekida kontakt tipke jer je click mehanički povezan sa kontaktom. U tome je tajna čarobnog feedbacka tipki IBM Model M tastatura.

No nije sve idealno, pojavile su se nove matične ploče i power supplyi koje očito ne šljive stare standarde previše. Tako se mnogi novi kompjuteri uopće neće upaliti ako su u njih uštekane IBM Model M tastature jer one vuku 200mA prilikom paljenja. E sad, PS/2 standard dopušta 250mA dakle trebalo bi ipak raditi.

Mnogi novi mali kompjuteri i laptopi više nemaju PS/2 port nego samo USB. Iako postoje aktivni konverteri PS/2 na USB bilo bi super da tastatura podržava oba standarda kao mnoge moderne dual-mode tastature koje dolaze sa dummy konverterom (onaj mali ljubičasti ili zeleni adapter PS/2 na USB on nema elektroniku nego tastatura autodetecta port i protokol).

Šta da se čini? Da li zbog novih motherboarda baciti IBM tastaturu u staro željezo i kupiti nekog kineskog plastičnjaka? Evo što o tome misle njemački hackeri http://mg8.org/rump http://www.schatenseite.de/dulcimer.html

Rump ne podržava LED diode na tastaturi, pa ga nema smisla raditi. Dulcimer je dobar, podržava LED.

No oba projekta pretvaraju tastaturu u USB tastaturu a gubi se njezina PS/2 funkcija. Bilo bi šteta to učiniti, PS/2 port dobro dođe da se oslobodi jedan USB ili da se tastaturu spoji na neki drugi hardware koji ima samo PS/2. Dakle najbolje da modifikacija bude dual-mode PS/2 i USB. Osim toga, oba projekta ne predviđaju upgradeanje flasha preko USB-a nego tastaturu treba rastaviti i spojiti na programator AVR-a. No ima toga još.

Još uvijek se živo sjećam kad sam radio na IBM mainframeu sa 3270 terminalom koji je imao tastaturu sličnu Model M. Taj terminal je imao nešto posebno - kad se vozilo kursorom po ekranu čuo se autorepeat click koji je dolazio od malog zvučnika ispod tastature. IBM Model M ima predviđeno mjesto za zvučnik ispod ali zvučnik nije ugrađen. Pa ako se radi modifikacija, onda neka tastatura dobije i zvučnik!

Nadalje ponašanje autorepeata kod PC nema dobar feedback. Recimo hoćete voziti kursor brzo gore, dolje pa opet gore. Kad se pritisne i drži gore, kursor krene. Ako se tokom držanja gore pritisne istovremeno i dolje, kursor pričeka delay i krene dolje autorepeatom. E sad ako hoćemo opet gore trebamo otpustiti obje tipke i ponovo pritisnuti gore. Nebi li bilo bolje da, ako otpustimo dolje a držimo i dalje gore kursor krene natrag gore i da se uopće ne čeka delay? Budući da PS/2 tastatura sama generira autorepeat, to bi se moglo napraviti u samom firmwareu tastature.

Da stvar bude bolja, tu je security - tastature obično imaju predvidivi sistem skeniranja matrice tipaka i emitiraju radio-valove iz kojih se DSP-om i pattern matchingom može viditi što se tipka po tastaturi. Možda bi se moglo nešto učiniti protiv toga ako se na slučajan način skenira tastaturu onda bi im bilo puno kompliciranije obraditi signal.

Dakle, sve to zajedno dovelo je do projekta TypeM - izrade zamjenskog kontrolera za Model M tastaturu baziranog na AVR-u koji fizički paše na mjesto starog kontrolera Originalni-kontroler.jpg.

Počelo je od protoboarda i izrade hardwarea koji autodetecta PS/2 i USB. To nije baš trivijalno, osim što su protokoli potpuno različiti, PS/2 ima signale na 5V a USB na 3.3V.

Nakon malo zafrkancije stvar ispravno detektira PS/2 Protoboard-ps2.jpg

a detektira i USB Protoboard-usb.jpg

Trebalo je napraviti logiku skeniranja tipki i slanja kodova kompjuteru za PS/2 i USB. Bilo je problema sa PS/2 bidirekcionalnom komunikacijom i arbitražom busa: Kad tipkamo istovremeno kad kompjuter blinka LED dioda na tastaturi onda se može dogoditi da se ili izgubi neki signal tipke ili signal za LED i to je definitivno bilo najteže za riješiti. Pitanje da li je rješeno i sad ali više se ne pojavljuje na mom motherboardu pa ako ubuduće i bude problema s time, mijenjaće se firmware.

Sve je bilo skoro riješeno, napravljena pločica i skoro svi djelovi osim 2 konektora za flex kabel koji se se pokazali nenabavljivi u svim našim trgovinama. A ni do zvučnika nije bilo lako doći, Promjer mu je standardan 50mm ali mora biti tanak! Normalni 50mm zvučnici su dubine 23mm i ne pašu u tastaturu, dubina zvučnika mora biti biti manja od 11mm. Nabava toga je uključivala tonu mailova, telefona svačega i sretno se završila. Konektori su konačno na pločici a zvučnik je u tastaturi pa sve to na kraju izgleda ovako:

Plocica-dolje.jpg

Plocica-gore.jpg

Plocica-tastatura.jpg

Tastatura-konektor.jpg

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Razmjena Po Gradovima