Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #KEY_MOD_LCTRL = $01
- #KEY_MOD_LSHIFT = $02
- #KEY_MOD_LALT = $04
- #KEY_MOD_LMETA = $08
- #KEY_MOD_RCTRL = $10
- #KEY_MOD_RSHIFT = $20
- #KEY_MOD_RALT = $40
- #KEY_MOD_RMETA = $80
- #KEY_NONE = $00 ; No key pressed
- #KEY_ERR_OVF = $01 ; Keyboard Error Roll Over - used For all slots If too many keys are pressed ("Phantom key")
- ; = $02 ; Keyboard POST Fail
- ; = $03 ; Keyboard Error Undefined
- #KEY_A = $04 ; Keyboard a And A
- #KEY_B = $05 ; Keyboard b And B
- #KEY_C = $06 ; Keyboard c And C
- #KEY_D = $07 ; Keyboard d And D
- #KEY_E = $08 ; Keyboard e And E
- #KEY_F = $09 ; Keyboard f And F
- #KEY_G = $0a ; Keyboard g And G
- #KEY_H = $0b ; Keyboard h And H
- #KEY_I = $0c ; Keyboard i And I
- #KEY_J = $0d ; Keyboard j And J
- #KEY_K = $0e ; Keyboard k And K
- #KEY_L = $0f ; Keyboard l And L
- #KEY_M = $10 ; Keyboard m And M
- #KEY_N = $11 ; Keyboard n And N
- #KEY_O = $12 ; Keyboard o And O
- #KEY_P = $13 ; Keyboard p And P
- #KEY_Q = $14 ; Keyboard q And Q
- #KEY_R = $15 ; Keyboard r And R
- #KEY_S = $16 ; Keyboard s And S
- #KEY_T = $17 ; Keyboard t And T
- #KEY_U = $18 ; Keyboard u And U
- #KEY_V = $19 ; Keyboard v And V
- #KEY_W = $1a ; Keyboard w And W
- #KEY_X = $1b ; Keyboard x And X
- #KEY_Y = $1c ; Keyboard y And Y
- #KEY_Z = $1d ; Keyboard z And Z
- #KEY_1 = $1e ; Keyboard 1 And !
- #KEY_2 = $1f ; Keyboard 2 And @
- #KEY_3 = $20 ; Keyboard 3 And #
- #KEY_4 = $21 ; Keyboard 4 And $
- #KEY_5 = $22 ; Keyboard 5 And %
- #KEY_6 = $23 ; Keyboard 6 And ^
- #KEY_7 = $24 ; Keyboard 7 And &
- #KEY_8 = $25 ; Keyboard 8 And *
- #KEY_9 = $26 ; Keyboard 9 And (
- #KEY_0 = $27 ; Keyboard 0 And )
- #KEY_ENTER = $28 ; Keyboard Return (ENTER)
- #KEY_ESC = $29 ; Keyboard ESCAPE
- #KEY_BACKSPACE = $2a ; Keyboard DELETE (Backspace)
- #KEY_TAB = $2b ; Keyboard Tab
- #KEY_SPACE = $2c ; Keyboard Spacebar
- #KEY_MINUS = $2d ; Keyboard - And _
- #KEY_EQUAL = $2e ; Keyboard = And +
- #KEY_LEFTBRACE = $2f ; Keyboard [ And {
- #KEY_RIGHTBRACE = $30 ; Keyboard ] And }
- #KEY_BACKSLASH = $31 ; Keyboard \ and |
- #KEY_HASHTILDE = $32 ; Keyboard Non-US # And ~
- #KEY_SEMICOLON = $33 ; Keyboard ; and :
- #KEY_APOSTROPHE = $34 ; Keyboard ' and "
- #KEY_GRAVE = $35 ; Keyboard ` And ~
- #KEY_COMMA = $36 ; Keyboard , And <
- #KEY_DOT = $37 ; Keyboard . And >
- #KEY_SLASH = $38 ; Keyboard / And ?
- #KEY_CAPSLOCK = $39 ; Keyboard Caps Lock
- #KEY_F1 = $3a ; Keyboard F1
- #KEY_F2 = $3b ; Keyboard F2
- #KEY_F3 = $3c ; Keyboard F3
- #KEY_F4 = $3d ; Keyboard F4
- #KEY_F5 = $3e ; Keyboard F5
- #KEY_F6 = $3f ; Keyboard F6
- #KEY_F7 = $40 ; Keyboard F7
- #KEY_F8 = $41 ; Keyboard F8
- #KEY_F9 = $42 ; Keyboard F9
- #KEY_F10 = $43 ; Keyboard F10
- #KEY_F11 = $44 ; Keyboard F11
- #KEY_F12 = $45 ; Keyboard F12
- #KEY_SYSRQ = $46 ; Keyboard Print Screen
- #KEY_SCROLLLOCK = $47 ; Keyboard Scroll Lock
- #KEY_PAUSE = $48 ; Keyboard Pause
- #KEY_INSERT = $49 ; Keyboard Insert
- #KEY_HOME = $4a ; Keyboard Home
- #KEY_PAGEUP = $4b ; Keyboard Page Up
- #KEY_DELETE = $4c ; Keyboard Delete Forward
- #KEY_END = $4d ; Keyboard End
- #KEY_PAGEDOWN = $4e ; Keyboard Page Down
- #KEY_RIGHT = $4f ; Keyboard Right Arrow
- #KEY_LEFT = $50 ; Keyboard Left Arrow
- #KEY_DOWN = $51 ; Keyboard Down Arrow
- #KEY_UP = $52 ; Keyboard Up Arrow
- #KEY_NUMLOCK = $53 ; Keyboard Num Lock And Clear
- #KEY_KPSLASH = $54 ; Keypad /
- #KEY_KPASTERISK = $55 ; Keypad *
- #KEY_KPMINUS = $56 ; Keypad -
- #KEY_KPPLUS = $57 ; Keypad +
- #KEY_KPENTER = $58 ; Keypad ENTER
- #KEY_KP1 = $59 ; Keypad 1 And End
- #KEY_KP2 = $5a ; Keypad 2 And Down Arrow
- #KEY_KP3 = $5b ; Keypad 3 And PageDn
- #KEY_KP4 = $5c ; Keypad 4 And Left Arrow
- #KEY_KP5 = $5d ; Keypad 5
- #KEY_KP6 = $5e ; Keypad 6 And Right Arrow
- #KEY_KP7 = $5f ; Keypad 7 And Home
- #KEY_KP8 = $60 ; Keypad 8 And Up Arrow
- #KEY_KP9 = $61 ; Keypad 9 And Page Up
- #KEY_KP0 = $62 ; Keypad 0 And Insert
- #KEY_KPDOT = $63 ; Keypad . And Delete
- #KEY_102ND = $64 ; Keyboard Non-US \ and |
- #KEY_COMPOSE = $65 ; Keyboard Application
- #KEY_POWER = $66 ; Keyboard Power
- #KEY_KPEQUAL = $67 ; Keypad =
- #KEY_F13 = $68 ; Keyboard F13
- #KEY_F14 = $69 ; Keyboard F14
- #KEY_F15 = $6a ; Keyboard F15
- #KEY_F16 = $6b ; Keyboard F16
- #KEY_F17 = $6c ; Keyboard F17
- #KEY_F18 = $6d ; Keyboard F18
- #KEY_F19 = $6e ; Keyboard F19
- #KEY_F20 = $6f ; Keyboard F20
- #KEY_F21 = $70 ; Keyboard F21
- #KEY_F22 = $71 ; Keyboard F22
- #KEY_F23 = $72 ; Keyboard F23
- #KEY_F24 = $73 ; Keyboard F24
- #KEY_OPEN = $74 ; Keyboard Execute
- #KEY_HELP = $75 ; Keyboard Help
- #KEY_PROPS = $76 ; Keyboard Menu
- #KEY_FRONT = $77 ; Keyboard Select
- #KEY_STOP = $78 ; Keyboard Stop
- #KEY_AGAIN = $79 ; Keyboard Again
- #KEY_UNDO = $7a ; Keyboard Undo
- #KEY_CUT = $7b ; Keyboard Cut
- #KEY_COPY = $7c ; Keyboard Copy
- #KEY_PASTE = $7d ; Keyboard Paste
- #KEY_FIND = $7e ; Keyboard Find
- #KEY_MUTE = $7f ; Keyboard Mute
- #KEY_VOLUMEUP = $80 ; Keyboard Volume Up
- #KEY_VOLUMEDOWN = $81 ; Keyboard Volume Down
- ; = $82 Keyboard Locking Caps Lock
- ; = $83 Keyboard Locking Num Lock
- ; = $84 Keyboard Locking Scroll Lock
- #KEY_KPCOMMA = $85 ; Keypad Comma
- ; = $86 Keypad Equal Sign
- #KEY_RO = $87 ; Keyboard International1
- #KEY_KATAKANAHIRAGANA = $88 ; Keyboard International2
- #KEY_YEN = $89 ; Keyboard International3
- #KEY_HENKAN = $8a ; Keyboard International4
- #KEY_MUHENKAN = $8b ; Keyboard International5
- #KEY_KPJPCOMMA = $8c ; Keyboard International6
- ; = $8d Keyboard International7
- ; = $8e Keyboard International8
- ; = $8f Keyboard International9
- #KEY_HANGEUL = $90 ; Keyboard LANG1
- #KEY_HANJA = $91 ; Keyboard LANG2
- #KEY_KATAKANA = $92 ; Keyboard LANG3
- #KEY_HIRAGANA = $93 ; Keyboard LANG4
- #KEY_ZENKAKUHANKAKU = $94 ; Keyboard LANG5
- ; = $95 Keyboard LANG6
- ; = $96 Keyboard LANG7
- ; = $97 Keyboard LANG8
- ; = $98 Keyboard LANG9
- ; = $99 Keyboard Alternate Erase
- ; = $9a Keyboard SysReq/Attention
- ; = $9b Keyboard Cancel
- ; = $9c Keyboard Clear
- ; = $9d Keyboard Prior
- ; = $9e Keyboard Return
- ; = $9f Keyboard Separator
- ; = $a0 Keyboard Out
- ; = $a1 Keyboard Oper
- ; = $a2 Keyboard Clear/Again
- ; = $a3 Keyboard CrSel/Props
- ; = $a4 Keyboard ExSel
- ; = $b0 Keypad 00
- ; = $b1 Keypad 000
- ; = $b2 Thousands Separator
- ; = $b3 Decimal Separator
- ; = $b4 Currency Unit
- ; = $b5 Currency Sub-unit
- #KEY_KPLEFTPAREN = $b6 ; Keypad (
- #KEY_KPRIGHTPAREN = $b7 ; Keypad )
- ; = $b8 Keypad {
- ; = $b9 Keypad }
- ; = $ba Keypad Tab
- ; = $bb Keypad Backspace
- ; = $bc Keypad A
- ; = $bd Keypad B
- ; = $be Keypad C
- ; = $bf Keypad D
- ; = $c0 Keypad E
- ; = $c1 Keypad F
- ; = $c2 Keypad XOr
- ; = $c3 Keypad ^
- ; = $c4 Keypad %
- ; = $c5 Keypad <
- ; = $c6 Keypad >
- ; = $c7 Keypad &
- ; = $c8 Keypad &&
- ; = $c9 Keypad |
- ; = $ca Keypad ||
- ; = $cb Keypad :
- ; = $cc Keypad #
- ; = $cd Keypad Space
- ; = $ce Keypad @
- ; = $cf Keypad !
- ; = $d0 Keypad Memory Store
- ; = $d1 Keypad Memory Recall
- ; = $d2 Keypad Memory Clear
- ; = $d3 Keypad Memory Add
- ; = $d4 Keypad Memory Subtract
- ; = $d5 Keypad Memory Multiply
- ; = $d6 Keypad Memory Divide
- ; = $d7 Keypad +/-
- ; = $d8 Keypad Clear
- ; = $d9 Keypad Clear Entry
- ; = $da Keypad Binary
- ; = $db Keypad Octal
- ; = $dc Keypad Decimal
- ; = $dd Keypad Hexadecimal
- #KEY_LEFTCTRL = $e0 ; Keyboard Left Control
- #KEY_LEFTSHIFT = $e1 ; Keyboard Left Shift
- #KEY_LEFTALT = $e2 ; Keyboard Left Alt
- #KEY_LEFTMETA = $e3 ; Keyboard Left GUI
- #KEY_RIGHTCTRL = $e4 ; Keyboard Right Control
- #KEY_RIGHTSHIFT = $e5 ; Keyboard Right Shift
- #KEY_RIGHTALT = $e6 ; Keyboard Right Alt
- #KEY_RIGHTMETA = $e7 ; Keyboard Right GUI
- #KEY_MEDIA_PLAYPAUSE = $e8
- #KEY_MEDIA_STOPCD = $e9
- #KEY_MEDIA_PREVIOUSSONG = $ea
- #KEY_MEDIA_NEXTSONG = $eb
- #KEY_MEDIA_EJECTCD = $ec
- #KEY_MEDIA_VOLUMEUP = $ed
- #KEY_MEDIA_VOLUMEDOWN = $ee
- #KEY_MEDIA_MUTE = $ef
- #KEY_MEDIA_WWW = $f0
- #KEY_MEDIA_BACK = $f1
- #KEY_MEDIA_FORWARD = $f2
- #KEY_MEDIA_STOP = $f3
- #KEY_MEDIA_FIND = $f4
- #KEY_MEDIA_SCROLLUP = $f5
- #KEY_MEDIA_SCROLLDOWN = $f6
- #KEY_MEDIA_EDIT = $f7
- #KEY_MEDIA_SLEEP = $f8
- #KEY_MEDIA_COFFEE = $f9
- #KEY_MEDIA_REFRESH = $fa
- #KEY_MEDIA_CALC = $fb
- Structure SCSI_PASS_THROUGH_DIRECT ;PACK
- Length.w ;0
- ScsiStatus.b ;2
- PathId.b ;3
- TargetId.b ;4
- Lun.b ;5
- CdbLength.b ;6
- SenseInfoLength.b ; 7
- DataIn.b ; 8
- __pack1.b
- __pack2.b
- __pack3.b
- DataTransferLength.l ; 9 / 12
- TimeOutValue.l
- DataBuffer.l
- SenseInfoOffset.l
- Cdb.b[16]
- EndStructure
- #SCSI_IOCTL_DATA_OUT = 0
- #SCSI_IOCTL_DATA_IN = 1
- #SCSI_IOCTL_DATA_UNSPECIFIED= 2
- Procedure _sendKeyboard(*p.SCSI_PASS_THROUGH_DIRECT, usb_key_mod, usb_key)
- *p\Length = SizeOf(SCSI_PASS_THROUGH_DIRECT)
- *p\ScsiStatus=0
- *p\PathId=0
- *p\TargetId=0
- *p\Lun=0
- *p\CdbLength=16
- *p\SenseInfoLength=24
- *p\DataIn=#SCSI_IOCTL_DATA_IN
- *p\DataTransferLength=0
- *p\TimeOutValue=5
- *p\DataBuffer=80
- *p\SenseInfoOffset=48
- *p\Cdb[0]=-39
- *p\Cdb[1]=52
- *p\Cdb[2]=usb_key_mod
- *p\Cdb[3]=0
- *p\Cdb[4]=usb_key
- *p\Cdb[5]=0
- *p\Cdb[6]=0
- *p\Cdb[7]=0
- *p\Cdb[8]=0
- *p\Cdb[9]=0
- *p\Cdb[10]=0
- *p\Cdb[11]=0
- *p\Cdb[12]=0
- *p\Cdb[13]=0
- *p\Cdb[14]=79
- *p\Cdb[15]=84
- EndProcedure
- Procedure _sendMouse(*p.SCSI_PASS_THROUGH_DIRECT, usb_mouse_keys, usb_mouse_dx, usb_mouse_dy)
- *p\Length = SizeOf(SCSI_PASS_THROUGH_DIRECT)
- *p\ScsiStatus=0
- *p\PathId=0
- *p\TargetId=0
- *p\Lun=0
- *p\CdbLength=16
- *p\SenseInfoLength=24
- *p\DataIn=#SCSI_IOCTL_DATA_IN
- *p\DataTransferLength=0
- *p\TimeOutValue=5
- *p\DataBuffer=80
- *p\SenseInfoOffset=48
- *p\Cdb[0]=-39
- *p\Cdb[1]=51
- *p\Cdb[2]=usb_mouse_keys
- *p\Cdb[3]=usb_mouse_dx
- *p\Cdb[4]=usb_mouse_dy
- *p\Cdb[5]=0
- *p\Cdb[6]=0
- *p\Cdb[7]=0
- *p\Cdb[8]=0
- *p\Cdb[9]=0
- *p\Cdb[10]=0
- *p\Cdb[11]=0
- *p\Cdb[12]=0
- *p\Cdb[13]=0
- *p\Cdb[14]=79
- *p\Cdb[15]=84
- EndProcedure
- Debug Hex(315396)
- in = AllocateMemory(65536)
- dev = CreateFile_("\\.\H:", #GENERIC_READ|#GENERIC_WRITE, #FILE_SHARE_READ | #FILE_SHARE_WRITE,0,#OPEN_EXISTING,0,0)
- Debug dev
- Repeat
- t=t+1
- IO=315412;315396;
- _sendKeyboard(in,#KEY_MOD_RSHIFT,#KEY_S)
- DeviceIoControl_(dev,IO,in,44,in,80,@ret,#Null)
- Delay(100)
- _sendKeyboard(in,0,0)
- DeviceIoControl_(dev,IO,in,44,in,80,@ret,#Null)
- _sendMouse(in, 0, 1, 1)
- DeviceIoControl_(dev,IO,in,44,in,80,@ret,#Null)
- ;_readData(in,buf, 65536)
- ;DeviceIoControl_(dev,315412,in,44,in,80,@ret,#Null)
- Debug ret
- Delay(100)
- ForEver
- Debug ret
- CloseHandle_(dev)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement