Twój formularz działa. Dopóki ktoś nie wpisze tego.
Naughty Keyboard jednym skrótem wpisuje następną kłopotliwą wartość w pole, w którym stoi kursor. 102 wartości w 9 paczkach, a każda mówi, co zwykle psuje i co zamiast tego robi poprawna aplikacja.
- Darmowy i otwarty, GPL-3.0
- Bez telemetrii i bez połączeń sieciowych
- Wpisuje na Windows, CLI i schowek na macOS i Linuksie
Wartości, których Twój formularz jeszcze nie widział
Nie są sprytne ani tajne. Produkują je prawdziwi użytkownicy i prawdziwe dane, a nikt nie wpisuje ich ręcznie, bo to żmudne.
Przeglądarka i serwer różnie porównują login i adres e-mail. Konto zostaje założone, ale nie da się go znaleźć.
whitespace/trailing-space =1+1Wartość zaczynającą się od znaku równości arkusz kalkulacyjny traktuje jak formułę. Wyeksportowany plik pokazuje wynik obliczenia zamiast danych.
export-breakers/formula-equals noYAML 1.1 i kilka parserów konfiguracji czyta słowo no bez cudzysłowu jako logiczne false - a NO to kod kraju Norwegii.
magic-values/bool-no 30.02.2026Data, która nie może istnieć. Naiwne parsery przesuwają ją na drugiego marca, zamiast ją odrzucić.
dates-impossible/feb-30Pole wygląda na puste, ale nie jest: walidacja pola wymaganego przechodzi, a rekord nie ma użytecznej nazwy.
whitespace/zwsp-only 65 535 × aLimit najczęstszego typu kolumny tekstowej. Jego przekroczenie zwykle kończy się surowym błędem bazy danych.
length-bombs/len-65535Trzy kroki, a kursor nie opuszcza pola
Kliknij pole
W dowolnej aplikacji na Windows: w przeglądarce, w programie na komputer, w terminalu.
Naciśnij AltShiftN
Paleta czyści wiersz i wpisuje następną wartość z paczki. Nigdy nie zabiera fokusu klawiatury, więc kursor zostaje tam, gdzie był.
Spójrz na wynik
Gdy wartość coś zepsuje, AltShiftB kopiuje blok do zgłoszenia: która wartość, wpisana jako co, jak duża i czy dotarła w całości.
Wybierz paczkę według tego, co testujesz
Każda wartość mówi, co zwykle psuje i co robi poprawna aplikacja. Paczek można używać za darmo, na licencji CC BY 4.0.
Białe znaki
12 wartościZnaki, które zajmują miejsce albo tylko udają, że je zajmują, i których w formularzu nie da się zobaczyć.
Unicode i tekst
12 wartościZnaki, które wyglądają niewinnie, a psują liczenie, porównywanie i wyświetlanie.
Bomby długości
12 wartościWartości dobrane do typowych limitów i do różnicy między znakiem a bajtem.
Wartości magiczne
12 wartościSłowa, które człowiek czyta jako tekst, a parser jako wartość logiczną, brak wartości albo liczbę.
Liczby skrajne
12 wartościLiczby na granicach swoich typów, w obcych zapisach i tam, gdzie kończy się precyzja.
Daty niemożliwe
12 wartościDaty, które nie istnieją, są niejednoznaczne albo zapisane inaczej, niż zakłada pole.
Pułapki eksportu
12 wartościWartości, które przechodzą walidację i psują się dopiero w wyeksportowanym pliku.
Polska lokalizacja
6 wartościPolskie identyfikatory, formaty i znaki, których globalne produkty komercyjne nie obsługują.
Nazwy plików i ścieżki
12 wartościNazwy, które system plików odrzuca, zmienia albo czyta inaczej, niż chciał użytkownik.
Także dla skryptów
nkb wypisuje każdą paczkę jako JSON, CSV albo jedną wartość na wiersz, w postaci escapowanej albo surowej. Wartości idą na standardowe wyjście, a opis tego, co wyszło, na standardowe wyjście błędów, więc przekierowany plik zawiera wartości i nic więcej. Każde polecenie ma kody wyjścia, według których pipeline może wybrać dalszą drogę.
$ nkb emit magic-values --format lines > magic-values.txt nkb emit: 12 values, 47 code points, 47 bytes $ head -4 magic-values.txt no null true NaN
Narzędziu, które pisze w cudzych oknach, trzeba móc zaufać
Każda z tych rzeczy to obietnica, a większości pilnuje test w repozytorium, który zatrzymuje budowanie, gdy obietnica zostanie złamana.
Bez połączeń sieciowych
Bez telemetrii, bez sprawdzania aktualizacji, nic nie jest pobierane w trakcie działania.
Nie czyta zawartości okien
Tylko rodzaj kontrolki z fokusem i nazwę pliku jej programu. Nigdy tytułu, tekstu ani wartości.
Schowek tylko na Twoją prośbę
Blok do zgłoszenia, tryb schowka i przyciski Copy, każde po naciśnięciu albo kliknięciu. Nigdy nie wkleja za Ciebie i nigdy nie czyta schowka.
Bez haka klawiatury
Skróty rejestruje systemowym wywołaniem do skrótów globalnych, które mówi mu tylko o jego własnych kombinacjach.
Bez uprawnień administratora
Nie prosi o nie i sam nie podnosi swoich uprawnień.
Paczka jest cała albo jej nie ma
Plik paczki jest sprawdzany przed odczytem i odrzucany przy każdym błędzie.
Znajdź to, zanim znajdą to Twoi użytkownicy
Za darmo, bez konta, bez telemetrii. Paleta i wiersz poleceń dla Windows, macOS i Linuksa.