-         

Ergebnis 1 bis 7 von 7

Thema: Abfragecodes für Tastatur (Bascom)

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.11.2007
    Ort
    Boppard
    Alter
    25
    Beiträge
    37

    Abfragecodes für Tastatur (Bascom)

    Anzeige

    Hi

    Ich hab mal ein kleines Problem:

    Code:
    '=============================================
    '     PS/2 - Tastatur abfrage
    '=============================================
    
    $regfile = "m8def.dat"
    $crystal = 8000000
    '$baud = 9600
    
    Config Portd = Output
    
    Config Keyboard = Pinb.0 , Data = Pinb.1 , Keydata = Keydata
    
    Dim Cursorposx As Byte
    Dim Cursorposy As Byte
    Dim Key As Byte
    Dim S As String * 16 At $400                                'Beide Variablen, String und Byte() liegen
    Dim B(16) As Byte At $400 Overlay                           'an der gleichen Stelle im Speicher
    
    '===== Command ===========================================
    Dim Text as String * 16
    '====== Timer =============================================
    Dim Seconds As Integer
    Dim Hours As Integer
    Dim Minutes As Integer
    '==========================================================
    
    $serialinput = Kbdinput
    
    Declare Sub TimerT
    Declare Sub Write_nible(byval D As Byte)                    'ein Nible (D4-D7) schreiben
    Declare Sub Lcd_write_data(byval D As Byte)                 'ins Datenregister schreiben
    Declare Sub Lcd_write_string                                'String S ausgeben
    
    Initlcd
    Cls
    
      Cursor On Blink
    
      Lowerline
      S = "Tastatur + Timer"
      Call Lcd_write_string
      Home
    
      Cursorposx = 1
      Cursorposy = 1
      Text = ""
    
    Do
      Key = Getatkbd()
    
      If Key <> 0 Then
        If Key = 8 Then
          Shiftcursor Left
          S = " "
          Call Lcd_write_string
          Cursorposx = Cursorposx - 1
        End If
    
        If Key = 52 Then
          Cursorposx = Cursorposx - 1
        End If
    
        If Key = 54 Then
          Cursorposx = Cursorposx + 1
        End If
    
        If Key = 44 Then
          S = " "
          Call Lcd_write_string
          Shiftcursor Left
        End If
    
        If Key = 56 Then
          Cursorposy = 1
        End If
    
        If Key = 50 Then
          Cursorposy = 2
        End If
    
        If Key <> 54 And Key <> 8 And Key <> 0 And Key <> 52 And Key <> 56 And Key <> 50 Then
          Cursorposx = Cursorposx + 1
          S = Chr(key)
          Call Lcd_write_string
          Text = Text + Chr(key)
        End If
    
        If Key = 13 Then
          s = LCase(Text)
          If Left(s , 5) = "timer" then TimerT
          Text = ""
          Cls
          Home
          Cursorposx = 1
          Cursorposy = 1
        End If
    
        If Cursorposx < 1 And Cursorposy = 2 Then
          Cursorposx = 16
          Cursorposy = 1
        End If
        If Cursorposx < 1 And Cursorposy = 1 Then Cursorposx = 1
        If Cursorposx > 16 And Cursorposy = 1 Then
          Cursorposx = 1
          Cursorposy = 2
        End If
        If Cursorposx > 16 And Cursorposy = 2 Then Cursorposx = 16
        Locate Cursorposy , Cursorposx
    
      End If
    Loop
    
    
    End
    
    
    '==========================================================
    '==========================================================
    Sub TimerT
    
    Deflcdchar 1 , 32 , 10 , 32 , 4 , 32 , 17 , 14 , 32         'little Smily
    Deflcdchar 2 , 32 , 12 , 12 , 32 , 32 , 1 , 1 , 32          'big Smily ol
    Deflcdchar 3 , 32 , 6 , 6 , 32 , 32 , 16 , 16 , 32          'big Smily or
    Deflcdchar 4 , 32 , 24 , 28 , 15 , 3 , 32 , 32 , 32         'big Smily ul
    Deflcdchar 5 , 32 , 3 , 7 , 30 , 24 , 32 , 32 , 32          'big Smily ur
    Cls
    
    Seconds = 0
    Minutes = 0
    Hours = 0
    
      'Config Portb.1 = Output
      'Config Portb.0 = Input
    
      Cls
      Lowerline
      S = "By Bjoern  " + Chr(1) + "  " + Chr(4) + Chr(5)
      Call Lcd_write_string
    
    Do
      Cursor Off
      Waitms 110
    
      Incr Seconds
      If Seconds = 60 Then
        Incr Minutes
        Seconds = 0
      End If
    
      If Minutes = 60 Then
        Incr Hours
        Minutes = 0
      End If
    
      Home
      Upperline
    
      If Hours < 10 Then
        S = "0" + Str(hours)
      Else
        S = " " + Str(hours)
      End If
    
      If Minutes < 10 Then
        S = S + ":0" + Str(minutes)
      Else
        S = S + ":" + Str(minutes)
      End If
    
      If Seconds < 10 Then
        S = S + ":0" + Str(seconds) + " Uhr  " + Chr(2) + Chr(3)
      Else
        S = S + ":" + Str(seconds) + " Uhr  " + Chr(2) + Chr(3)
      End If
    
      Call Lcd_write_string
      Home
    
      Portb.0 = 1
      If Pinb.1 = 0 Then
        Hours = -1
      end IF
    Loop until Hours = -1
    End SUB
    
    
    '==========================================================
    '==========================================================
    '==========================================================
    Sub Write_nible(byval D As Byte)
    If D.4 = 1 Then Portd.0 = 1 Else Portd.0 = 0
    If D.5 = 1 Then Portd.1 = 1 Else Portd.1 = 0
    If D.6 = 1 Then Portd.2 = 1 Else Portd.2 = 0
    If D.7 = 1 Then Portd.3 = 1 Else Portd.3 = 0
    Portd.5 = 1
    Waitus 5
    Portd.5 = 0
    End Sub
    '==========================================================
    Sub Lcd_write_data(byval D As Byte)
    Portd.4 = 1
    Call Write_nible(d)
    Waitus 50
    D = D * 16
    Call Write_nible(d)
    Waitus 50
    
    End Sub
    '==========================================================
    Sub Lcd_write_string
    Dim Istring As Byte
    For Istring = 1 To Len(s)
    Call Lcd_write_data(b(istring))
    Next Istring
    End Sub
    '==========================================================
    '==========================================================
    '==========================================================
    
    
    Kbdinput:
    'we come here when input is required from the COM port
    'So we pass the key into R24 with the GetATkbd function
    ' We need some ASM code to save the registers used by the function
    $asm
    push r16           ; save used register
    push r25
    push r26
    push r27
    
    Kbdinput1:
    rCall _getatkbd    ; call the function
    tst r24            ; check for zero
    breq Kbdinput1     ; yes so try again
    pop r27            ; we got a valid key so restore registers
    pop r26
    pop r25
    pop r16
    $end Asm
    'just return
    Return
    
    'The tricky part is that you MUST include a normal call to the routine
    'otherwise you get an error
    'This is no clean solution and will be changed
    Key = Getatkbd()
    
    Keydata:
    'normal keys lower case
    Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
    Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
    Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
    Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
    Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
    Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
    Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
    
    'shifted keys UPPER case
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
    Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
    Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
    Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
    Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
    Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
    Mit diesem einfachen Programm kann ich jetzt schon Tasten Abfragen. Mein Problem ist nun, dass eine menge Sondertasten in der von Bascom bereitgestellten Tabelle fehlen :

    Keydata:
    'normal keys lower case
    Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
    Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
    Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
    Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
    Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
    Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
    Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

    'shifted keys UPPER case
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
    Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
    Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
    Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
    Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
    Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

    Kann mir jemand da mal helfen ß

  2. #2
    Moderator Roboter Genie
    Registriert seit
    26.08.2004
    Beiträge
    1.228
    Ich weiß ja nicht, ob du dir das RN schon mal näher angeschaut hast...aber es gibt hier ein

    Extra Forum für Bascom

    Verschoben!

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Ich hab vor kurzem mal so ne Tastatur "analyisert"; dabei hab ich die ganzen Zahlen bei KeyData von 0, 1, 2, ... 253, 254, 255 durchnumeriert und mir die Codes, die beim Drücken einer Taste erzeugt werden, auf nem LCD darstellen lassen. Also wenn ich F4 drücke, wird mir die 12 angezeigt. Die Daten hab ich dann auch gleich so gelassen und arbeite direkt mit den "sortieren" Zahlen weiter.

    Der Datenblock sieht dann also in etwa so aus
    KeyData:
    DATA 0,1,2,3....

    Evtl hilft die Tabelle hier:

    Code:
    a	28
    b	50
    c	33
    d	35
    e	36
    f	43
    g	52
    h	51
    i	67
    j	59
    k	66
    l	75
    m	58
    n	49
    o	68
    p	77
    q	21
    r	45
    s	27
    t	44
    u	60
    v	42
    w	29
    x	34
    y	26
    z	53
    A	156
    B	178
    C	161
    D	163
    E	164
    F	171
    G	180
    H	179
    I	195
    J	187
    K	194
    L	203
    M	186
    N	177
    O	196
    P	205
    Q	149
    R	173
    S	155
    T	172
    U	188
    V	170
    W	157
    X	162
    Y	154
    Z	181
    1	22
    2	30
    3	38
    4	37
    5	46
    6	54
    7	61
    8	62
    9	70
    0	69
    !	150
    "	158
    §	166
    $	165
    %	174
    &	182
    /	189
    (	190
    )	198
    =	197
    CAPS LOCK	88
    TAB	13
    ^	14
    °	142
    ß	78
    ?	206
    ENTER	90
    RÜCK	102
    Taste Oben	224, 224, 117
    Taste Unten	224, 224, 114
    Taste Links	224, 224, 107
    Taste Rechts	224, 224, 116
    INS	224, 224, 112
    DEL	224, 224, 113
    HOME	224, 224, 108
    END	224, 224, 105
    PGUP	224, 224, 125
    PGDN	224, 224, 122
    ESC	118
    SHIFT + INS	96, 96, 96, 240
    SHIFT + DEL	96, 96, 96, 241
    SHIFT + HOME	96, 96, 96, 236
    SHIFT + END	96, 96, 96, 233
    SHIFT + PGUP	96, 96, 96, 253
    SHIFT + PGDN	96, 96, 96, 250
    SHIFT + ESC	246
    STRG L	20
    STRG R	224, 224, 20
    Windows L	224, 224, 31
    Windows R	224, 224, 39
    ALT	17
    Space	41
    ALT GR	224, 224, 17
    SHIFT + ALT	145
    SHIFT + CTRL	148
    SHIFT + SPACE 	169
    SHIFT + ALTGR	96, 96, 145
    SHIFT + Windows L	96, 96, 159
    SHIFT + Windows R	96, 96, 167
    Kontext	224, 224, 47
    SHIFT + Kontext	96, 96, 167
    DRUCK	224, 224, 224, 124
    SHIFT + Druck	96, 96, 252
    Rollen	126
    SHIFT + Rollen	254
    Pause	225, 119
    Shift + Pause	97,247
    Wake Up	224, 224, 94
    SHIFT + WakeUp	96, 96, 222
    Sleep	224, 224, 63
    Shift + Sleep	96,96,191
    Power	224, 224, 55
    SHIFT + Power	96,96,183
    F1	5
    F2	6
    F3	4
    F4	12
    F5	3
    F6	11
    F7	131
    F8	10
    F9	1
    F10	9
    F11	120
    F12	7
    SHIFT + F1	133
    SHIFT + F2	134
    SHIFT + F3	132
    SHIFT + F4	140
    SHIFT + F5	131
    SHIFT + F6	139
    SHIFT + F7	3
    SHIFT + F8	138
    SHIFT + F9	129
    SHIFT + F10	137
    SHIFT + F11	148
    SHIFT + F12	135
    Num Lock	119
    SHIFT + NumLock	247
    Numpad /	224,224,74
    SHIFT + Numpad /	96,96,96,202
    Numpad *	124
    SHIFT + Numpad * 	252
    ä	82
    Ä	210
    ö	76
    Ö	204
    ü	84
    Ü	212
    +	92
    *	219
    #	93
    '	221
    ,	65
    ;	193
    .	73
    :	201
    -	74
    _	202
    <	97
    >	225
    Numpad -	123
    SHIFT + Numpad -	251
    Numpad + 	121
    SHIFT + Numpad +	249
    Numpad 0	112
    Numpad 1	105
    Numpad 2	114
    Numpad 3	122
    Numpad 4	107
    Numpad 5	115
    Numpad 6	116
    Numpad 7	108
    Numpad 8	117
    Numpad 9	125
    SHIFT + Numpad 0	240
    SHIFT + Numpad 1	233
    SHIFT + Numpad 2	242
    SHIFT + Numpad 3	250
    SHIFT + Numpad 4	235
    SHIFT + Numpad 5	243
    SHIFT + Numpad 6	244
    SHIFT + Numpad 7	236
    SHIFT + Numpad 8	245
    SHIFT + Numpad 9	253
    TAB	13
    SHIFT + TAB	141
    SHIFT + RÜCK	230
    SHIFT + ENTER	218

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    04.02.2008
    Beiträge
    14
    Hmm

    Du hast die Numlock-Taste erkennen können?
    Klappt bei mir nicht. Allerdings habn ich keine komplette Tastatur, sondern nur einen PS/2-10erBlock dran.
    Alle anderen Tatsen funktionieren, nur der NUMLOCK nicht.

    Hier mal der Code.

    Code:
    '----------------------------------------------------------------------------
    '                PC AT-KEYBOARD Sample
    '              (c) 2000-2003 MCS Electronics
    '----------------------------------------------------------------------------
    'For this example :
    'connect PC AT keyboard clock to PIND.2 on the 8535
    'connect PC AT keyboard data to PIND.4 on the 8535
    
    $regfile = "m644def.dat"
    $crystal = 18432000
    $baud = 19200
    $prog &H00 , &H00 , &H00 , &H00
    'The GetATKBD() function does not use an interrupt.
    'But it waits until a key was pressed!
    
    'configure the pins to use for the clock and data
    'can be any pin that can serve as an input
    'Keydata is the label of the key translation table
    Config Keyboard = Pinb.2 , Data = Pinb.3 , Keydata = Keydata
    
    'Dim some used variables
    Dim S As String * 12
    Dim B As Byte
    
    
    'Show the program is running
    Print "hello"
    
    Do
      'The following code is remarked but show how to use the GetATKBD() function
      B = Getatkbd() 
      'B = Getatkbdraw()                                        'get a byte and store it into byte variable
      'When no real key is pressed the result is 0
      'So test if the result was > 0
       If B > 0 Then
          Print B ; " " ; Chr(b)
       End If
    
    Loop
    End
    
    
    'This is the key translation table
    
    Keydata:
    'normal keys lower case
    Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
    Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
    Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
    Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
    Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
    Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
    Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
    
    'shifted keys UPPER case
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
    Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
    Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
    Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
    Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
    Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
    Manchmal "hängt die Kiste sich auch auf". Dann kommen sekundenlang keine Tasten rein. Manchmal gehts dann von selber wieder, manchmal muss ich resetten.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    04.02.2008
    Beiträge
    14
    Jetzt hab ich mal den Befehl getatkbdraw() ausprobiert,

    da sehe ich beim Numlock, wie auch bei allen anderen Keys, immer 2 Zahlen im Logfenster. z.B: Numlock 119,240 oder die 8: 117,240

    Also erkennt er den Numlock doch.

    Dann stimmt wohl was nicht in der Key translation table.

    Um das herauszufinden wäre es nicht schlecht, wenn ich dafür eine Beschreibung hätte. Gibts dazu was?


    Edit: Manchmal sind es dann doch 3 Zahlen die ich reinbekomme??? Jetz steh ich vollkommen daneben.......

    Was soll die "240" immer in der Mitte???


    HILFEEEE

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hi,

    mit getatkbdraw() bekommst du ja die Rohdaten der PS/2 Tastatur, evtl. solltest du mal sehen wie das mit PS/2 läuft, und wie die Tastaturcodes aufgebaut sind.

    240 ist in hex F0 und das ist dann der Break-Code, also wenn die Taste wieder losgelassen wurde.

    Gib die Werte von getatkbdraw mit Hex() aus, dann kannst Du hier vergleichen:
    http://www.computer-engineering.org/...cancodes2.html

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    04.02.2008
    Beiträge
    14
    Ja, genau das was ich Suche und nicht verstanden habe. Danke

    Was noch gesagt werden muss ist, daß die Keydatas aus dem Bascom Sample unvollständig/falsch sind. Die Taste "/" gehört von 45 auf 47 umgeschrieben und der NUMLOCK ist nur mit "0" eingetragen.
    Aber jetz hab ichs gecheckt und kann jede Taste meines Nummernblockes einlesen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •