Le gros défaut de KeyboardInkey() c'est qu'on avait pas la possibilitée d'utiliser les majuscules pour les caractères... vous aviez beau appuyer sur '£', ca vous donnait '$'
Eh bien c'est résolu.
Pour commencer voilà une liste et sa structure, indispensables:
Code : Tout sélectionner
Structure char
l.s
u.s
EndStructure
NewList char.char()
AddElement(char())
char()\l = "&"
char()\u = "1"
AddElement(char())
char()\l = "é"
char()\u = "2"
AddElement(char())
char()\l = "''"
char()\u = "3"
AddElement(char())
char()\l = "'"
char()\u = "4"
AddElement(char())
char()\l = "("
char()\u = "5"
AddElement(char())
char()\l = "-"
char()\u = "6"
AddElement(char())
char()\l = "è"
char()\u = "7"
AddElement(char())
char()\l = "_"
char()\u = "8"
AddElement(char())
char()\l = "ç"
char()\u = "9"
AddElement(char())
char()\l = "à"
char()\u = "0"
AddElement(char())
char()\l = ")"
char()\u = "°"
AddElement(char())
char()\l = "="
char()\u = "+"
AddElement(char())
char()\l = "<"
char()\u = ">"
AddElement(char())
char()\l = ","
char()\u = "?"
AddElement(char())
char()\l = ";"
char()\u = "."
AddElement(char())
char()\l = ":"
char()\u = "/"
AddElement(char())
char()\l = "!"
char()\u = "§"
AddElement(char())
char()\l = "^"
char()\u = "¨"
AddElement(char())
char()\l = "$"
char()\u = "£"
AddElement(char())
char()\l = "*"
char()\u = "µ"
AddElement(char())
char()\l = "ù"
char()\u = "%"
Et enfin la fonction elle même:
Code : Tout sélectionner
Procedure.s aInput(msg$)
If KeyboardPushed(#PB_Key_Back)
msg$ = Left(msg$ , Len(msg$)-1 )
Delay(200)
EndIf
c$ = KeyboardInkey()
If KeyboardPushed(#PB_Key_LeftShift)
ResetList(char())
While NextElement(char())
If char()\l = c$ : c$ = char()\u : Break : EndIf
Wend
EndIf
msg$ + c$
ProcedureReturn msg$
EndProcedure
Code : Tout sélectionner
InitKeyboard()
InitSprite()
OpenScreen(320,240,16,"")
IncludeFile "input.pb"
Repeat
ClearScreen(0,0,0)
ExamineKeyboard()
msg$ = aInput(msg$)
StartDrawing(ScreenOutput())
DrawingMode(1)
FrontColor(0,255,0)
Locate(0,0)
DrawText(msg$+"_")
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Si vous l'améliorez ou l'optimisez je vous demanderait juste de la reposter ici, afin d'en faire profiter tout le monde
