Großschreibung bei Texteingabe im Vollbild unter Linux

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
zoidberg
Beiträge: 219
Registriert: 06.12.2004 23:15
Computerausstattung: Acer 6530
Mit Ubuntu 9.04 64 Bit als Hauptsystem und
Windows Vista 32Bit Home Premium zum spielen.
Wohnort: GM
Kontaktdaten:

Großschreibung bei Texteingabe im Vollbild unter Linux

Beitrag von zoidberg »

Hallo!

Ich bekomm es (unter Linux : eingefügt von bobobo) einfach nicht hin bei einer Eingabe im Vollbild mit Hilfe von KeyboardInkey() auch Großbuchstaben anzunehmen und die Sondertasten wie "Alt" oder "Shift" zu erkennen.

Ich habe das Beispiel aus dem Codearchiv verwendet.

Danke !

Gruß, Zoidberg
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Kannst du das nicht auch per API?

Dann gibt's dafür den befehl getAsyncKeyState_() mit den #VK_* Konstanten.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

kack einen auf Api

aus der Hilfe für inkey()

Code: Alles auswählen

If OpenConsole()
    PrintN("Druecken Sie Escape zum Beenden.")
    Repeat
      KeyPressed$ = Inkey()
      If KeyPressed$ <> ""
        PrintN("Sie drueckten: " + KeyPressed$)
          PrintN("Diese hat einen Roh-Code von: "+Str(RawKey()))
      ElseIf RawKey()
        PrintN("Sie haben eine Nicht-Ascii Taste gedrueckt.")
        PrintN("Diese hat einen Roh-Code von: "+Str(RawKey()))
      Else
        Delay(20) ; Wir verbrauchen nicht die gesamte CPU-Leistung, da wir uns auf einem Multitasking-OS befinden
      EndIf
    Until KeyPressed$ = Chr(27) ; Wartet, bis Escape gedrückt wird
  EndIf
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

kack einen auf Console 8)

Ich glaube er benötigt eher was im Screen

KeyboardPushed(#PB_Key_RightShift) oder KeyboardReleased(#PB_Key_RightShift) sollte doch gehen um zb. die rechte
Shift-Taste zu erkennen.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

PBZecke hat geschrieben:kack einen auf Console 8)
Da hat einer nicht verstanden, dass das nur ein POC war.. -.-

Edit:
Oder funzt der Inkey() nur in der Konsole?!
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Was ist ein POC?

Nachtrag:
Inkey() ist ja ein Consolen-Befehl also sollte er eigentlich auch nur
da gehen, habs aber nicht probiert...

Nachtrag 2:
Habs jetzt doch probiert, und war eigentlich klar, geht nur in Console, und
das suchte ZOIDBERG so glaube ich jedenfalls, nicht!
Zuletzt geändert von PBZecke am 09.08.2006 16:29, insgesamt 1-mal geändert.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Proof of concept..

Aber wenn das ein einziger Konsolenbefehl ist, dann fällt ist auch der POC ein wenig nutzlos ^^

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

jepp .. :oops:
Und zur Strafe hab ich das mitgelieferte PB4-Beispiel für KeyboardInkey()
aus der Hilfe angeguckt, getest und für gut genug befunden es dem zoidberg höflich an den Kopf zu werfen. :)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Großschreibung bei Texteingabe im Vollbild

Beitrag von Kaeru Gaman »

zoidberg hat geschrieben:KeyboardInkey()
und KeyboardInkey() is Screen und verarbeitet Alphanumerische Zeichen,
die ExamineKeyboard() gefangen hat.

wie PBZecke geschrieben hat:
> KeyboardPushed(#PB_Key_RightShift)
gibts auch für LeftShift

das fragst du zuerst ab, und setzt ein flag.
wenn dein Zeichen, das du von KeyboardInkey() bekommst, dann Alphabetisch ist,
setzt du ein UCase() drüber,
für 49-56 rechnest du -16, musst halt mal mit der ASCII-Rabelle jonglieren.
aber grundsätzlich musst du es direkt verarbeiten.

PS:
ich seh grad, bei mir im 4.0 gehts, Großbuchstaben werden angenommen.
vielleicht ist dein Problem doch noch anders gelagert?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
zoidberg
Beiträge: 219
Registriert: 06.12.2004 23:15
Computerausstattung: Acer 6530
Mit Ubuntu 9.04 64 Bit als Hauptsystem und
Windows Vista 32Bit Home Premium zum spielen.
Wohnort: GM
Kontaktdaten:

Beitrag von zoidberg »

Also ich werde das so versuchen wie ihr sagt. Das left und right shift abfragen und mit Hilfe der Ascii Tabelle kontrollieren was der User gedrückt hat.

Ich hab PB 3.94 für Linux im Einsatz, ich weiß also nicht wie das Beispiel von Bonobo aussieht. Die Beispiele die ich dabei hatte hatten das nicht berücksichtigt. Nur das "gib etwas Text ein" Beispiel und das bezog sich nur auf die Eingabe generell.

Ich werd mal versuchen mir das heute Abend anzuschauen.

Die Highscore ist das einzige was noch zu meinem Spiel fehlt.

Danke !

Gruß, Zoidberg
Bild
Antworten