Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w009f8cd/blog/wp-settings.php on line 520

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w009f8cd/blog/wp-settings.php on line 535

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w009f8cd/blog/wp-settings.php on line 542

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w009f8cd/blog/wp-settings.php on line 578

Deprecated: Function set_magic_quotes_runtime() is deprecated in /www/htdocs/w009f8cd/blog/wp-settings.php on line 18

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1244

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/classes.php on line 1442

Strict Standards: Redefining already defined constructor for class wpdb in /www/htdocs/w009f8cd/blog/wp-includes/wp-db.php on line 306

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /www/htdocs/w009f8cd/blog/wp-includes/cache.php on line 431

Strict Standards: Declaration of Walker_Comment::start_lvl() should be compatible with Walker::start_lvl(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::end_lvl() should be compatible with Walker::end_lvl(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::start_el() should be compatible with Walker::start_el(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::end_el() should be compatible with Walker::end_el(&$output) in /www/htdocs/w009f8cd/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Redefining already defined constructor for class WP_Dependencies in /www/htdocs/w009f8cd/blog/wp-includes/class.wp-dependencies.php on line 31

Strict Standards: Redefining already defined constructor for class WP_Http in /www/htdocs/w009f8cd/blog/wp-includes/http.php on line 61
Keyboard-Hack / Einleitung « Physical Computing

Keyboard-Hack / Einleitung

Der Keyboard-Hack ist ein Klassiker bei uns im Physical Computing Kurs. Und das ist auch gut so, denn so ein Hack ist super einfach, schnell gemacht und auch noch billig. Perfekt für den Einstieg in die Welt der elektronischen Gadgets.

Austesten der Kontakte auf dem Keyboard-Controller
Austesten der Kontakte auf dem Keyboard-Controller

(Bild von jeanbaptisteparis)

Was also wollen wir machen?

Wir wollen ein Keyboard zerlegen und aus dem Herzstück einen neuen Controller bauen. Das hat den Vorteil, dass unser neuer Controller ohne Treiber gleich überall funktioniert, wo es auch die Tastatur getan hätte.

Zunächst einmal brauchen wir eine Software auf dem Rechner, für die wir ein neues Eingabegerät bauen wollen. Am besten eignen sich einfache kleine Spiele und Mediaplayer; benutzt wurden aber auch schon Soundprogramme, selbstgebastelte Flashclips oder Processing Applets. Von Bedeutung ist nur, dass sich irgendeine Funktion über Tastendrücke auf der Tastatur steuern läßt.

Dann brauchen wir natürlich eine Tastatur die wir zerlegen können. Ein Gang in den Keller oder zum WoW-Nachbarn sollte hier schnell zu Ergebnissen führen. Auch Funktastaturen funktionieren für einen Keyboardhack.

Jetzt fehlt eigentlich nur noch das geeignete Werkzeug und ein paar Schalter oder Sensoren mit denen der Nutzer seine Eingaben machen kann.
Die meisten Tastaturen bestehen aus einer oberen und einer unteren Plastikschale, die mit Kreuzschlitz-Schrauben zusammenhalten. Hat man alle entfernt, sollte sie auch schon auseinander fallen. Drei zusammengeklebte Folien befanden sich unter den Tasten und sind mit einer kleinen Platine verbunden. Es handelt sich um den Microcontroller der Tastatur (siehe Bild oben) und um das Teil, das wir haben wollen. Controller mit USB-Kabel herausnehmen, der Rest kann zur Seite.

Der Controller war mit den Folien an einer Seite verbunden. Dort kann man noch ein Streifenmuster (die Kupfer-Pins) der Platine erkennen. Sind die Pins schwarz, muss man diese schwarze Schicht mit etwas Schleifpapier entfernen, bis das blanke Metall zu sehen ist.

USB-Kabel am Rechner anschließen und z.B. einen Texteditor öffnen. Verbindet man jetzt jeweils zwei Pins auf dem Controller, kann man im Texteditor sehen, welche »Buchstaben« oder »Funktionstasten« gedrückt werden. Hat man die Lieblinkstasten gefunden, kann man an den Stellen Kabel zwischenlöten und Sensoren einbauen.

Was eignet sich als Schalter oder Sensor?

You can follow any responses to this entry through the RSS 2.0 feed.