ctrl-break ...
7 svar · 328 visningar · startad av phonkworks
Ctrl + C. Tecken 3, alltså. Eller 0x03 om du föredrar hexadecimala värden. ;)
Ok, hm... ja det har jag prövat...
Det jag ska göra är att (från ett java hack)telnetta in i en TelefoniVäxel via en teminalserver. Det är är VT100 som gäller och jag byggde en liknande variant mot en likadan växel för nåt år sen men den hade bara ett modem som väg in och för att reset'a och få upp kommando promten så skickar man ctrl-break. I javas comm api finns metoden sendBreak() så det var ju coolt när man körde modem skissen men hur fan gör man i telnet. Jag har skickat in all ascii mellan 0 och 255 men den vägrar ge mig promten.
får harva vidare...
mvh
phonk
Det är ju inget ensamt tecken som ska simuleras fram då tangentbordet går in i en annan scanmode med ctrl. Men går det inte att lösa med ansi-escape sekvenser? http://www.dee.ufcg.edu.br/~rrbrandt/tools/ansi.html
Ok, tack!
I det dokumentet står att ctrl koden för pause/break är 0;0
Hur ska jag tolka det och hur skickar jag det via telnet?
mvh
phonk
Jag antar att du skickar det som data, dvs som escapesekvens i en sträng. Har inte själv pulat med detta men det verkar rimligt, då man gör så med andra escapesekvenser för att exempelvis byta färg på text, mm.
Jag är rätt dålig på det här - hur menar du med escapesekvens.
växeln rapporterar tillbaka att:
Escape character = '^]'
Vad ska jag skicka då? Nåt av dessa?
"^]0;0"
"^]00"
"^]0^]0"
"^]0^];^]0"
mvh
phonk
Man kan i programmering mot terminaler ändra färg på exempelvis text genom att ange en escapekvens i sträng... typ printf("]]...").
Samma förfarande borde gälla i ditt fall, men jag har som sagt inte heller nån erfarenhet av detta så ta det som en hint, snarare än en färdig lösning. Hur just din sekvens bör se ut vet jag inte. Men här kanske det finns mer råd ->
http://www.wikipedia.org/wiki/Control_character
I annat fall är det kanske bara att testa sig fram.