abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:33 | Bezpečnostní upozornění

    Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Komunita

    V úterý 13. ledna 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 5. Mobile Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a související infrastrukturu. Akci pořádá David Heidelberg.

    … více »
    lkocman | Komentářů: 0
    včera 16:00 | Pozvánky

    Už je 14 dní zbývá do začátku osmého ročníku komunitního setkání nejen českých a slovenských správců sítí CSNOG 2026. Registrace na akci je stále otevřená, ale termín uzávěrky se blíží. I proto organizátoři doporučují, aby se zájemci přihlásili brzy, nejlépe ještě tento týden.

    … více »
    VSladek | Komentářů: 0
    včera 02:22 | Pozvánky

    Rok 2026 sotva začal, ale už v prvním týdnu se nashromáždilo nezvykle mnoho zajímavostí, událostí a zpráv. Jedno je ale jisté - už ve středu se koná Virtuální Bastlírna - online setkání techniků, bastlířů a ajťáků, kam rozhodně doražte, ideálně s mikrofonem a kamerou a zapojte se do diskuze o zajímavých technických tématech.

    Dějí se i ne zcela šťastné věci – zdražování a nedostupnost RAM a SSD, nedostatek waferů, 3€ clo na každou položku z Číny … více »
    bkralik | Komentářů: 0
    5.1. 22:00 | Komunita

    Vývojáři GNOME a Firefoxu zvažují ve výchozím nastavení vypnutí funkce vkládání prostředním tlačítkem myši. Zdůvodnění: "U většiny uživatelů tento X11ism způsobuje neočekávané chování".

    Ladislav Hagara | Komentářů: 10
    5.1. 15:22 | Nová verze

    Nástroj pro obnovu dat GNU ddrescue (Wikipedie) byl vydán v nové verzi 1.30. Vylepšena byla automatická obnova z disků s poškozenou čtecí hlavou.

    Ladislav Hagara | Komentářů: 0
    5.1. 12:55 | IT novinky

    Protokol IPv6 má již 30 let. První návrh specifikace RFC 1883 je z prosince 1995.

    Ladislav Hagara | Komentářů: 13
    5.1. 01:55 | IT novinky

    Byli vyhlášeni vítězové ocenění Steam Awards 2025. Hrou roku a současně nejlepší hrou, která vám nejde, je Hollow Knight: Silksong.

    Ladislav Hagara | Komentářů: 2
    4.1. 21:11 | Nová verze

    Byla vydána nová verze 26.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Anh-Linh. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 0
    3.1. 20:22 | Humor Ladislav Hagara | Komentářů: 67
    Které desktopové prostředí na Linuxu používáte?
     (0%)
     (4%)
     (0%)
     (11%)
     (24%)
     (6%)
     (6%)
     (3%)
     (11%)
     (52%)
    Celkem 228 hlasů
     Komentářů: 4, poslední včera 12:50
    Rozcestník

    Debugování komunikace s klávesnicí

    26.11.2005 21:50 | Přečteno: 1507× | Linux | poslední úprava: 26.11.2005 22:48

    Momentálně si hraju s vylepšováním svojí klávesnice, akorát mi to moc nejde. Už jsem strávil tejdny různým zkoušením (no, nemám na hraní celý dny, proto tolik), až jsem uznal, že je nutný vědět, co se mezi klávesnicí a PC vlastně děje, protože podle teorie to prostě nefungovalo.

    Takže jsem vyštrachal obvod MAX232, 5 kondenzátorů a napojil klávesnici na sériový port.

    schema
    fotka

    Šmírovací program jsem obšlehl od sitha. V C totiž vůbec neumím a připadá mi jako totálně nepohodlný a nepřehledný jazyk, takže - vím, že je to napsaný prasácky, ale je to jednoúčelová věc a stačí mi:

    #include <stdio.h>
    #include <fcntl.h>
    #include <termios.h>
    #include <sys/ioctl.h>
    #include <time.h>
    
    #define SERIAK "/dev/ttyS0"
    
    int openserial ();
    void closeserial ();
    float mereni ();
    
    int fd;
    
    int
    openserial ()			//otevrit seriak
    {
    	if ((fd = open (SERIAK, O_RDWR)) == -1)
    	{
    		return 0;
    	}
    	return 1;
    }
    
    void
    closeserial ()			//zavrit seriak
    {
    	close (fd);
    }
    
    float
    mereni ()			//hlavni fce, mereni napeti
    {
    	int status, hodnota1 = 2, hodnota2 = 3;
    
    	while (1!=2)
    	{
    	ioctl (fd, TIOCMGET, &status);
    	hodnota1 = (status & TIOCM_CTS)/TIOCM_CTS; //clock
    	hodnota2 = (status & TIOCM_RI)/TIOCM_RI; //data
    	printf ("%i,", hodnota1);
    	printf ("%i\n", hodnota2);
    	}
    //	return (hodnota1);
    }
    
    int
    main ()
    {
    	if (!openserial ())
    	{
    		printf ("Nelze inicializovat port \"s\".", SERIAK);
    		return 0;
    	}
    	mereni();
    	closeserial ();
    	return 0;
    }
    

    Prostě to vypisuje dvě hodnoty oddělený čárkou, první je stav CLOCK a druhý je stav DATA. Protože PS/2 jede jen na 9600 baudů, stíhá se to krásně:

    ...
    1,0
    1,0
    1,0
    0,0
    0,0
    0,0
    0,0
    0,0
    0,0
    0,0
    0,0
    0,0
    0,0
    0,0
    0,1
    0,1
    0,1
    ...
    
    Update:

    A když se to nacpe do OpenOffice, tak se to dá krásně zvizualizovat:

    graf

    English summary: Spying on the PS/2 keyboard protocol using serial port.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Pavel Stárek avatar 26.11.2005 23:07 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Debugování komunikace s klávesnicí
    Nooo, to je sice pěkné, ale tak nějak jsem nepochopil, jak chceš z těch grafíků z OO luštit, co tedy vlastně z té klávesnice leze ? Nu třeba máš naštudovaný protokol klávesnice na úrovni log. 0 a 1 :-)
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    hajma avatar 27.11.2005 00:37 hajma | skóre: 27 | blog: hajma | Říčany
    Rozbalit Rozbalit vše Re: Debugování komunikace s klávesnicí
    mám :-)
    21 promarněných znaků
    13.3.2006 23:40 David Sedláček | skóre: 20 | Žďár nad Sázavou
    Rozbalit Rozbalit vše Re: Debugování komunikace s klávesnicí
    Ahoj.

    Ten muj puvodni program bych opravdu napsal uplne jinak - mas right, prasecina. Ovsem v podstate je v poradku - je to komunikace na nejnizsi urovni a proto se zdaj (a jsou) napr. ty bitove operace docela hardcore :).

    Kazdopadne velmi zaujimave takhle napojit klavesku :).

    13.3.2006 23:43 David Sedláček | skóre: 20 | Žďár nad Sázavou
    Rozbalit Rozbalit vše Re: Debugování komunikace s klávesnicí
    Zapomel jsem dodat:

    while (1!=2)

    -LOL :))

    20.3.2006 20:06 Bronek
    Rozbalit Rozbalit vše Re: Debugování komunikace s klávesnicí
    Taky skousim udelat jakysi emulator klavesnice s procesorem PIC16F84 a pro odladeni pouzivam podobnou metodu :) Teda nevim ,jestli se to metodou da vubec nazvat. Pro zachytavani ale nepouzivam seriovy ale paralelni port. Protoze vsechna komunikaca Klavesnice<>PC prebiha pres TTL +5V. Takze jsem usteril ten MAX a kopec kondiku.

    Komunikaci mam zachycenou ale emulace jaksi nefunguje.

    Skusim jeste trosku posprtat.
    hajma avatar 28.3.2006 15:25 hajma | skóre: 27 | blog: hajma | Říčany
    Rozbalit Rozbalit vše Re: Debugování komunikace s klávesnicí
    no, já jsem někde čet, že paralel se snadno spálí, takže radši přes ten sériovej. Už jsem to párkrát zkratoval ...
    21 promarněných znaků

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.