Toon posts:

KEYPAD werking zoals GSM

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo , heeft er iemand info over hoe je je keypad kunt laten werken zoals een gsm ?

dus alphabet + nummeriek .

iemand info

Verwijderd

Als het je alleen zou gaan om de volgorde van de cijfers bij een gsm zou je het hardwarematig kunnen doen, een alphanumeriek keypad ervan maken is hardwarematig een stuk lastiger. Ik naam aan dat je dus met 1 keer drukken op de 8 een a wilt krijgen en met drie keer drukken een c.

Softwarematig is het best te doen een programma te schrijven die de cijfers afvangt en omzet in letters zoals een GSM dat zou doen. Ik denk wel dat je dat zelf zult moeten schrijven, zoiets is niet zo snel op internet te vinden :)

Qua programmeren: bij indrukken van de 8 toets een a neerzetten en een timer starten van 1 seconde. Als binnen die tijd nog een keer op de 8 word gedrukt maakt het programma er een b van en word de timer weer gereset (zodat je tijd hebt om er een c van te maken). Word er binnen of na de tijd op een andere toets gedrukt word er gewoon naar het volgende teken gegaan. Simple as that :)

[ Voor 29% gewijzigd door Verwijderd op 24-10-2003 17:33 ]


  • sebastius
  • Registratie: September 2000
  • Laatst online: 10:13

sebastius

Laten we lekker link gaan doen

Das gewoon een stukje software. Toets indrukken, en dan nog een keer voor de a. Lang genoeg wachten voor het volgende character.

Verwijderd

Topicstarter
bedankt voor de snelle reactie

  • the_stickie
  • Registratie: Juli 2001
  • Laatst online: 14-09-2025
dit is kewl in samnwerking met dat nieuwe logitech-setje met apart numeriek pad: dat numeriek pad kan je gebruiken als afstandsbediening... dan zou je van in de zetel, met alleen dat numpad toch een bepaald nummer kunnen kiezen in winamp (bijvoorbeeld)...
maar dan zou je dat (afvangen van cijfers en vervangen door letters) "voor heel windows" moet kunnen doen... is dat haalbaar?

Verwijderd

pin me er absoluut niet op vast, maar ik meen me te herinneren dat een fabrikant van die dingen (trust en ibm maken ze geloof ik oa.) daar wel eens een tooltje voor gemaakt heeft. ik kan het alleen nergens terugvinden.

Verwijderd

Topicstarter
ik ben aan zoiets aan het denken om in mijn autoproject te gebruiken.
een toetsenbord is te groot, draadloos te duur. en aangezien het " GSM principe " iedereen kent kan mijn zo snel iets vormen.

Verwijderd

Een bestaand keypad ?
Dan zul je hetzij hardwarematig een decoder/encoder moeten maken, of aan de gang moeten gaan met software. Het laatste is makkelijkst. Het eerste vereist namelijk wat gevorderde electronicakennis en je zult dan alsnog de PIC's moeten programmeren. Ik denk dat je daardoor eerder jouw oplossing zult hebben met software.

move Casemodding & Elektronica > Software Algemeen

Verwijderd

Even snel wat code getypt die dit voor elkaar krijgt. Wat het nu doet: het draait het keypad om (zodat een 8 een 2 word etc) en zorgt dat je binnen 1 seconde de letter nog kan veranderen door er nog een keer op te drukken. Dit is overigens niet compleet (en mogelijk niet efficient in elkaar gezet, ik deed het even snel) maar het werkt goed.

Om het in Visual Basic te maken:

- Timer met naam tmrKey, interval 800ms (kun je varieren, dit komt wel overeen met een nokia telefoon).
- Textbox met naam txtResult, hier komen de woorden in.
- Textbox met naam txtInput, hier moeten 'de getallen' ingetypt worden. Als je het mooi wilt maken maak je die natuurlijk invisible met autofocus.

Code staat in de volgende post omdat het anders deze post onleesbaar zou maken (uitrekking van de opmaak).

Het T9 woordenboek doet het nog niet 8)7

Verwijderd

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Option Explicit
Dim intKeyPressed As Integer
Dim intKeyPresses As Integer
Dim dKeyAscii As Integer
Dim AlphaPerKey As Integer

Private Sub tmrKey_Timer()
    tmrKey.Enabled = False
    intKeyPressed = 0
    intKeyPresses = 0
End Sub

Private Sub txtInput_KeyPress(KeyAscii As Integer)
    AlphaPerKey = 3
    
    Select Case KeyAscii
        Case 56
            dKeyAscii = 49
        Case 57
            dKeyAscii = 50
        Case 52
            dKeyAscii = 51
        Case 53
            dKeyAscii = 52
        Case 54
            dKeyAscii = 53
        Case 49
            dKeyAscii = 54
        Case 50
            dKeyAscii = 55
            AlphaPerKey = 4
        Case 51
            dKeyAscii = 56
            AlphaPerKey = 4
    End Select
    
    tmrKey.Enabled = False
    tmrKey.Enabled = True
    If intKeyPressed <> dKeyAscii Then intKeyPresses = 0
    intKeyPressed = dKeyAscii
    If KeyAscii <> 48 Then
        If intKeyPresses = 0 Then txtResult.Text = txtResult.Text & "x"
        txtResult.Text = Left(txtResult.Text, Len(txtResult.Text) - 1) & Chr(97 + ((dKeyAscii - 49) * 3) + intKeyPresses + (AlphaPerKey - 3))
        intKeyPresses = intKeyPresses + 1
        If intKeyPresses = 3 Then
            If Not (KeyAscii <> 49 Or KeyAscii <> 51) Then intKeyPresses = 0
        End If
    Else
        txtResult.Text = txtResult.Text & " "
    End If
End Sub


Let op, dit is dus maar een (werkend) voorbeeldje.

[ Voor 3% gewijzigd door Rafe op 24-10-2003 20:21 ]


  • MSalters
  • Registratie: Juni 2001
  • Nu online
Op windows:WH_KEYBOARD
Move to /14?

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • the_stickie
  • Registratie: Juli 2001
  • Laatst online: 14-09-2025
die code is idd eenvoudig, maar werkt dus idd alleen binnen dat (mini) progsel.
Je zou een soort modus moeten maken dat je alle communicatie van het numpad "vertaalt" zodat je ook in andere programma's (winamp, notepad, word, outlook, etc etc etc) kan "typen" met je numpad

misschien is dit alleen mogelijk door een ander keyboard driver te schrijven... of met api-hooks zoals hierboven is aangehaald... maar dat laat ik aan anderen over :p

[ Voor 11% gewijzigd door the_stickie op 25-10-2003 20:49 ]


Verwijderd

Misschien dat je hier wat aan hebt:
http://www.justthom.com/applekeys/ (incl. sourcecode)
The Microsoft Keyboard Layout Creator
Pagina: 1