Bei mir geht es:
Code: Alles auswählen
Structure TCOD_key_t
  vk.l
  c.b
  pressed.b
  lalt.b
  lctrl.b
  ralt.b
  rctrl.b
  shift.b
  PB_Align(0,1)
EndStructure
CompilerIf #PB_Compiler_Unicode
    CompilerError "unicode ausschalten"
CompilerEndIf
CompilerIf #PB_Compiler_Debugger=0
    CompilerError "debugger anschalten"
CompilerEndIf
PrototypeC TCOD_console_wait_for_keypress(*ret.TCOD_key_t,flush.l)
PrototypeC TCOD_console_init_root(w.l,h.l,*title,fullscreen.l)
libtcod = OpenLibrary(#PB_Any,"libtcod-mingw.dll")
If libtcod <> 0
    
    init.TCOD_console_init_root = GetFunction(libtcod,"TCOD_console_init_root")
    init(100,100,@"title",0)
    
    console_wait_for_keypress.TCOD_console_wait_for_keypress = GetFunction(libtcod,"TCOD_console_wait_for_keypress")
    key.TCOD_key_t
    
    While key\vk <> 1 ; escape
        Debug console_wait_for_keypress(@key,#True)
        If key\vk
            Debug key\vk
            Debug key\c
        Else
            Delay(100)
        EndIf
    Wend
    CloseLibrary(libtcod)
EndIf
Getestet mit 
http://doryen.eptalys.net/libtcod/download/ -> libtcod-1.5.0-mingw32.zip
libtcod-1.5.0-MSVC.zip geht auch, ich würde lieber die nehmen, kenne VC++ besser. Ist auch noch kleiner.
libtcod = OpenLibrary(#PB_Any,"libtcod-vs.dll")
Beenden mit Escape.
Du hast im obigen Code check und wait gemischt, aber die haben andere Parameter.
Einmal bool flush und das andere erwartet int flags (die man evtl. richtig setzen sollte).
Vor dem CloseLibrary() muß noch irgendeine libtcode funktion zum beenden hin, aber
ich kenne diese Lib nicht. Das mußt Du wissen. Momentan mußt Du es mit dem Debugger
beenden, nachdem Du ESC gedrückt hast. Ist ja nur ein Test für die versteckte Rückgabestruktur.
PrototypeC sollte richtig sein.