Forum

Reading tty renderer ouptut

is it possible to read the output from the tty renderer? i am using keyboard global to capture key presses from cue cat scanner. the problem is though the data is output in reverse order and contains random characters… when i store the spread values in an iobox the random characters show but everything is input is correct on the tty renderer… it also omits the first letter which displays a lowercase in TTY. im assuming the lowercase letter messes everything up somehow…

also are there any to uppercase or tolower case funtions available?

uppercase or to lower case
Caps should do it…

is it possible to read the output from the tty renderer
like getting a string with all the things written in the tty renderer?
no.
the LogFile node can activate writing tty messages to a file. in prinziple you could read that file later. the feature would be easy to implement through.

anyway i have to admit that i dont get your main problem, please try to reformulate that:
do you use the Keyboard Output or the Keycode pin? what is reversed? why is something written to the tty renderer? what random values appear where?
do you have a data sheet of the scanner?

in processing i made a program to read the input from a cuecat which is an old barcode reader. the cuecat outputs regular ascii values liike a keyboard would. in processing the keypressed and keycode calls worked good. so i assumed i could use the keyboard node to read the input but there are 3 issues.

  1. it doesnt read the full string of ascii values
  2. it adds and values
  3. its inconsistent (the letters read from the cuecat display correctly in the tty window but display incorrectly (as described above) in the output spread from the keyboard system window help patch.

if you simply google cuecat you will find various sources about its history etc. i think the issue is related to the keyboard node… because you can read when test the cuecat using a test barcode that outputs the word test… it works fine. it works in notepad… it works in everything where theres a text input required…

i see. although i still not get your issue number 2.
we used the Keyboard nodes with regular keyboards. There might be some issues with generic 8bit characters. i can imagine also issues when to many keypresses received within one frame.

did you try to use the Confuse-A-Cat hardware modification technique, mentioned on http://www.cexx.org/cuecat.htm?

yes. exactly. i think to many keypresses are recieved with in one frame… how can i fix that. and sorry i rephrased number 2. i meant it adds random characters to the keypressed recorded. also… if it works any other languages such as processing which was probably designed for regular keyboards as well… why wouldnt it work for vvvv. can i increase the frame rate?

today i revisited this issue after having learned more v4. here is a screen shot of the output (because you can not replicate the output w/o a cuecat barcode reader) anyhow the regex is used to only output characters after the character (which is from the cuecat outputing uppercase). the characers of the word volkswagen are output in reverse because the cuecat ouputs the characters in reverse. the problem is the some characters are missing from the tty ouput. the tty ouput reads VOLKSWAGEN while the iobox string reads NEGAWSKLO. why does the output differ? this example is only missing the first letter of volkswagen. what i am trying to do in the end. is read the word volkswagen and relate it to a filename slice in a spread called volkswagen.jpg. so the output would have to be reverese and lowercase. i tried using reverse(spreads). but it doesnt work w/ a spread containing strings.

another option would be to use reg expressions?

help would be appreciated.

read barcode patch.jpg (30.8 kB)

@reversing string spreads: Reverse (Spreads) is just for values and not for strings. the next version will contain modules for reversing string spreads. For now you can build you own with an I node, Count (String) and a GetSlice (String). Connect I and Count do that the output of the count goes to the From input of the I. Now add some + (Value) node and tweak until you get the I to output numbers from (count-1, count-2, …, 2, 1, 0). Now use that as the index spread for the GetSlice. now all slices come out reversed.

@regexpr: what characters is the cuecat delivering? what regular expression do you use? what happens if the Keyboard node will spit out two characters in the same frame?

fixed for betas >20. See also