Tasten neu belegen.. (Tastatur)

  • Hallo,

    ich habe mal eine generelle Frage an die die sich schon was besser auskennen in AUTOIT. Also: Ist es möglich die Tasten der Tastatur neu zu belegen? So das - wenn ich z.B. Tasten den NUM-Blocks tippe eine bestimmte tastensequenz ausgelöst wird? z.B. Ich drücke die Taste 7 und es wird ein Text geschrieben wie: "Hallo wie gehts" (Ich weiß sehr einfallsreich). Wenn das so ist hab ich glaube ich bald ein neues Projekt xD.

    MfG und danke schonmal

    akira2012

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

  • Hallo Akira.

    Ist das dieses Script von Analyzer nicht viel besser zu geeignet?

    [Tool] HotKeys

    Ich nutze es auch für immer wieder kommende Textpassagen.

    Gruß, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Jaja mit STRG-ALT und dergleichen das ist klar aber ich hääte es gerne OHNE sowas. Also wenn ich zum Bleristift NUR die taste 1 auf dem NUMBLOCK tippe soll etwas ausgelöst werden

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

  • hallo


    hocken kannst du mit autoit nicht :(

    du kannst höchstens die tastatur (laut pee) mit (komplizierten :) )dllaufrufen umändern...

    was du aber machen kannst ist z.b. sowas:


    if _ispressed (nummlocktaste) then

    send("die kommische pfeiltaste zum löschen")
    send("dein satz")

    endif
    und so weiter


    mfg


    ps: vileicht kannst du mit ispressed auch eine deaktivierte numtaste abfragen... war natürlich s besste

    pps: du must misc.au3 includen

    • Offizieller Beitrag

    Hi,

    [autoit]


    #include <Misc.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $dll = DllOpen("user32.dll")
    Global $num = DllCall("user32.dll", "long", "GetKeyState", "long", 0x90) ; NumPad
    Global $rollen = DllCall("user32.dll", "long", "GetKeyState", "long", 0x91) ; Rollen
    Global $capslock = DllCall("user32.dll", "long", "GetKeyState", "long", 0x14) ; Capslock
    Global $tasten[3] = [$num[0], $rollen[0], $capslock[0]]
    Global $string[3] = ["NumPad", "Rollen", "CapsLock"]

    [/autoit][autoit][/autoit][autoit]

    For $i = 0 To UBound($tasten) - 1
    If $tasten[$i] = 1 Then
    _FunktionWennAktiv($string[$i])
    Else
    _FunktionWennNICHTAktiv($string[$i])
    EndIf
    Next

    [/autoit][autoit][/autoit][autoit]

    Func _FunktionWennAktiv($taste)
    MsgBox(64, "A", $taste & " ist aktiviert!")
    EndFunc ;==>_FunktionWennAktiv

    [/autoit][autoit][/autoit][autoit]

    Func _FunktionWennNICHTAktiv($taste)
    MsgBox(64, "N", $taste & " ist NICHT aktiviert!")
    EndFunc ;==>_FunktionWennNICHTAktiv

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(25)
    If _IsPressed("01", $dll) Then ToolTip("Linke Maustaste", 0, 0, "MouseClick", 1)
    If _IsPressed("02", $dll) Then ToolTip("Rechte Maustaste", 0, 0, "MouseClick", 1)
    WEnd
    DllClose($dll)

    [/autoit]

    So long,

    Mega

  • Hm das das mit der Tastaturbelegung nicht geht ist schade das wäre mal eine feine Sache ^^. Das mit den Tastensenden alls ifpressed ist ja ok soweit aaaaber was ist wenn die taste 1 nicht gedruckt wird und ich dann die rücktaste benutze und ein nicht gewollter effekt in einem programm auftauchen sollte. Den Status der tasten abfragen sieht schon kompliziert genug aus für mich ^^ aber th.meger ist ja auch kein mensch :p
    Naja vielleicht starte ich mal ein paar experimente wenn mein PC zuhause wieder funzt kann grad nur von der Arbeit aus online >_>


    MfG


    P.S. Wie lest ihr dll's aus? Ich mein woher weiß ich was in den DLLs drinnen steht ich kann die nichtmal öffnen oO

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

    Einmal editiert, zuletzt von akira2012 (2. Mai 2007 um 14:53)

  • nach diesem schema machste einfach die anderen sachen
    mausklicks mausbewegungen usw sind auch möglich.
    falls du es für ein spiel machen willst, versuch es über die im spiel integriete scriptsprache zu lösen. meist geht sowas in der config (ut, cs usw)

    [autoit]

    HotKeySet("{NUMPAD1}","_hallo")

    [/autoit][autoit][/autoit][autoit]

    send("{NUMLOCK on}");nummerblock automatisch einschalten

    [/autoit][autoit][/autoit][autoit]

    Func _hallo()
    send("taste um das chatmenü zu öffnen")
    sleep(100)
    send("hallo")
    sleep(100)
    send("{ENTER}")
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    while 1
    sleep(1)
    WEnd

    [/autoit]

    2 Mal editiert, zuletzt von FoXMorayno (2. Mai 2007 um 16:13)

  • @dllmächtigen

    ware es möglich das ihr mal ein tutorial über dlls schreibt??


    bittebitte :tier:


    mfg

  • @ Peethebee Vielen Dank
    @ FoXMorayno Vielen Dank
    @ th.meger Vielen Dank und KANN JA JEDER BEHAUPTEN :P

    Ich werde mir alle eure Lösungsvorschläge zu gemüte führen wenn ich wieder etwas luft habe (bin grad umgezogen mein PC zuhause ist nichtmal aufgebaut -.-). Bis dahin verbleibe ich in tiefster bewunderung an eure Fähigkeiten ;)


    MfG

    akira2012

    EDIT: @ peethebee Sag mal das mit den DLLs ist ja lustig. Woher weiß dann sB th.Meger das man die Userbla.dll braucht um die Tasten auszulesen. Ich sags ja ALIEN! ;)

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

    Einmal editiert, zuletzt von akira2012 (3. Mai 2007 um 10:47)

  • Ich glaube die Arbeit mit dem Proggi kann ich mir sparen. DJ Basslord hat da ja schon was nettes gescriptet. Das macht ja eigentlich genau das was ich wollte also thnx bassi ^^

    nur schade das es nur mit den Nummerntasten funzt ^^

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

    Einmal editiert, zuletzt von akira2012 (4. Mai 2007 um 13:56)