Mam maszynę Fedory, do której mogę SSH. Jeden z programów, z których chciałbym korzystać, czasami korzysta z klawiszy funkcyjnych. Problem polega na tym, że mam SSH'ing z Android tabletki (ASUS Transformer nieskończoność) z fizycznej klawiatury, ale nie F1- F12klawisze. Tak więc, dopóki aplikacja terminalowa, której używam (VX ConnectBot) nie zdecyduje się na dodanie ich jako funkcji, szukam sposobu na wysłanie ich za pomocą reszty klawiatury.
Mogę korzystać ze wszystkich druku znaków ASCII, Esc, Ctrl, Shift, Enter, i Tab.
Odpowiedzi:
Terminale rozumieją tylko znaki, a nie klucze. Więc wszystkie klawisze funkcyjne są kodowane jako sekwencje znaków, przy użyciu znaków kontrolnych. Oprócz kilku typowych, które mają powiązany znak kontrolny ( Tabjest
Ctrl+I
, EnterjestCtrl+M
, EscjestCtrl+[
), klawisze funkcyjne wysyłają sekwencje specjalne, zaczynając odCtrl+[ [
lubCtrl+[ O
. Możesz użyć tegotput
polecenia, aby zobaczyć, czego oczekują aplikacje sekwencji specjalnych dla każdego klawisza funkcyjnego na terminalu. Sekwencje te są przechowywane wterminfo
bazie danych. Na przykład poniższy fragment powłoki pokazuje sekwencje specjalne odpowiadające poszczególnym klawiszom funkcyjnym.Innym sposobem, aby zobaczyć sekwencję zmiany znaczenia dla klawisza funkcyjnego, jest naciśnięcie Ctrl+ Vw aplikacji terminalowej, która nie ponownie wiąże klawisza Ctrl+ V(takiej jak powłoka). Ctrl+ Vwstawia dosłownie następny znak (który będzie znakiem ucieczki), a ty będziesz mógł zobaczyć resztę sekwencji, która składa się ze zwykłych znaków.
Ponieważ sekwencje mogą być kłopotliwe w pisaniu, sprawdź zmianę powiązań klawiszy w aplikacji lub używając innego emulatora terminala. Pamiętaj też, że możesz mieć limit czasu: niektóre aplikacje rozpoznają sekwencje specjalne tylko wtedy, gdy przychodzą wystarczająco szybko, aby mogły nadać znaczenie Escsamemu kluczowi.
źródło
kf13
, Shift + F2 jestkf14
, itd. Następnie Ctrl + F1 jestkf25
, Ctrl + Shift + F1 jestkf37
, Alt + F1 jestkf49
. Nie wiem, czy to działa na innych terminalach, ani co dostajesz, jeśli masz rzeczywisty klawisz F13.Emulator terminala Androida Jacka Palevicha używa kombinacji klawiszy z klawiszami głośności do wysyłania różnych klawiszy, w tym klawiszy funkcyjnych. Istnieje również klawiatura hakera, która ma każdy dostępny klawisz, który miałaby prawdziwa klawiatura.
źródło