RPGXP 스크립트
2013.10.01 06:06

가상 키보드 입력 스크립트

조회 수 1660 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

#==============================================================================
# ** Key Simulator
#------------------------------------------------------------------------------
# by Fantasist
# Version: 0.1
# Date: 11-Dec-2008
#------------------------------------------------------------------------------
# Version History:
#
#   0.1 - First version
#------------------------------------------------------------------------------
# Description:
#
#     This script can simulate the pressing of the keyboard and mouse keys.
#   You can use this, for example, to switch to fullscreen by simulating the
#   ALT and ENTER keys.
#------------------------------------------------------------------------------
# Compatibility:
#
#     Should be compatible with almost everything.
#     Might not be compatible with similar scripts.
#------------------------------------------------------------------------------
# Instructions:
#
#     This script can simulate most of the common keyboard and mouse presses.
#   You can simulate three things: "key down" (press), "key up" (release) and
#   "trigger key" (press and release)
#
#   Syntax:
#             VK.down(VIRTUAL_KEY)
#             VK.up(VIRTUAL_KEY)
#             VK.trigger(VIRTUAL_KEY)
#
#   where VIRTUAL_KEY is the constant representing the required key.
#   For the exact name of the constant, scroll down and find the required key.
#
#   Number keys work a little different. For the number n, VIRTUAL_KEY is:#
#              NUM[n]
#   So 2, 6 and 0 are NUM[2], NUM[6], NUM[0] respectively.
#   Note that this is only the case with the number keys above the letter keys.
#   Numpad keys have individual constants. Numpad 4 is NUMPAD4
#
#   Example: Simulating "Alt + Enter"
#
#     Scroll down to find the constants for alt and enter keys. They are ALT
#   and ENTER respectively. Now, we need to simulate "alt down", "enter down",
#   "enter up", "alt up". The following code does that:
#
#             VK.down(VK::ALT) # ALT down
#             VK.down(VK::ENTER) # ENTER down
#             VK.up(VK::ENTER) # ENTER up
#             VK.up(VK::ALT) # ALT up
#
#------------------------------------------------------------------------------
# Issues:
#
#     I have very limited experience in this area, so I don't know what some
#   keys are (for example the OEM keys and such). The constants here are used
#   directly from the microsoft MSDN page regarding virtual keys.
#------------------------------------------------------------------------------
# Credits and Thanks:
#
#   Credits: Fantasist for making this.
#   Thanks: Memor-X for requesting this.
#------------------------------------------------------------------------------
# Notes:
#
#     If you have any questions, suggestions or comments, you can
#   find me (Fantasist) at:
#
#    - www.chaos-project.com
#    - www.quantumcore.forumotion.com
#
#   Enjoy ^_^
#==============================================================================

#==============================================================================
# ** module VK (Virtual Keys)
#==============================================================================

module VK
 
  V_KEYBD = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
 
  def self.down(vk)
    V_KEYBD.call(vk, 0, 0, 0)
  end
 
  def self.up(vk)
    V_KEYBD.call(vk, 0, 2, 0)
  end
 
  def self.trigger(vk)
    V_KEYBD.call(vk, 0, 0, 0)
    V_KEYBD.call(vk, 0, 2, 0)
  end
 
  LBUTTON = 0x01 # Left mouse button
  RBUTTON = 0x02 # Right mouse button
  CANCEL = 0X03 # Control-break processing
  MBUTTON = 0x04 # Middle mouse button (Three-button mouse)
  XBUTTON1 = 0x05 # Windows 2000/XP: X1 mouse button
  XBUTTON2 = 0x06 # Windows 2000/XP: X2 mouse button
  BACK = 0x08 # BACKSPACE key
  TAB = 0x09 # TAB key
  CLEAR = 0x0C # CLEAR key
  ENTER = 0x0D # ENTER key
  SHIFT = 0x10 # SHIFT key
  CONTROL = 0x11 # CTRL key
  ALT = 0x12 # ALT key
  PAUSE = 0x13 # PAUSE key
  CAPITAL = 0x14 # CAPS LOCK key
  ESCAPE = 0x1B # ESC key
  SPACE = 0x20 # SPACEBAR
  PRIOR = 0x21 # PAGE UP key
  NEXT = 0x22 # PAGE DOWN key
  END_ = 0x23 # END key
  HOME = 0x24 # HOME key
  LEFT = 0x25 # LEFT ARROW key
  UP = 0x26 # UP ARROW key
  RIGHT = 0x27 # RIGHT ARROW key
  DOWN = 0x28 # DOWN ARROW key
  SELECT = 0x29 # SELECT key
  PRINT = 0x2A # PRINT key
  EXECUTE = 0x2B # EXECUTE key
  SNAPSHOT = 0x2C # PRINT SCREEN key
  INSERT = 0x2D # INS key
  DELETE = 0x2E # DEL key
  HELP = 0x2F # HELP key
  NUM = [0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39]
  A = 0x41 # A key
  B = 0x42 # B key
  C = 0x43 # C key
  D = 0x44 # D key
  E = 0x45 # E key
  F = 0x46 # F key
  G = 0x47 # G key
  H = 0x48 # H key
  I = 0x49 # I key
  J = 0x4A # J key
  K = 0x4B # K key
  L = 0x4C # L key
  M = 0x4D # M key
  N = 0x4E # N key
  O = 0x4F # O key
  P = 0x50 # P key
  Q = 0x51 # Q key
  R = 0x52 # R key
  S = 0x53 # S key
  T = 0x54 # T key
  U = 0x55 # U key
  V = 0x56 # V key
  W = 0x57 # W key
  X = 0x58 # X key
  Y = 0x59 # Y key
  Z = 0x5A # Z key
  LWIN = 0x5B # Left Windows key (Microsoft Natural keyboard)
  RWIN = 0x5C # Right Windows key (Natural keyboard)
  APPS = 0x5D # Applications key (Natural keyboard)
  SLEEP = 0x5F # Computer Sleep key
  NUMPAD0 = 0x60 # Numeric keypad 0 key
  NUMPAD1 = 0x61 # Numeric keypad 1 key
  NUMPAD2 = 0x62 # Numeric keypad 2 key
  NUMPAD3 = 0x63 # Numeric keypad 3 key
  NUMPAD4 = 0x64 # Numeric keypad 4 key
  NUMPAD5 = 0x65 # Numeric keypad 5 key
  NUMPAD6 = 0x66 # Numeric keypad 6 key
  NUMPAD7 = 0x67 # Numeric keypad 7 key
  NUMPAD8 = 0x68 # Numeric keypad 8 key
  NUMPAD9 = 0x69 # Numeric keypad 9 key
  MULTIPLY = 0x6A # Multiply key
  ADD = 0x6B # Add key
  SEPARATOR = 0x6C # Separator key
  SUBTRACT = 0x6D # Subtract key
  DECIMAL = 0x6E # Decimal key
  DIVIDE = 0x6F # Divide key
  F1 = 0x70 # F1 key
  F2 = 0x71 # F2 key
  F3 = 0x72 # F3 key
  F4 = 0x73 # F4 key
  F5 = 0x74 # F5 key
  F6 = 0x75 # F6 key
  F7 = 0x76 # F7 key
  F8 = 0x77 # F8 key
  F9 = 0x78 # F9 key
  F10 = 0x79 # F10 key
  F11 = 0x7A # F11 key
  F12 = 0x7B # F12 key
  F13 = 0x7C # F13 key
  F14 = 0x7D # F14 key
  F15 = 0x7E # F15 key
  F16 = 0x7F # F16 key
  NUMLOCK = 0x90 # NUM LOCK key
  SCROLL = 0x91 # SCROLL LOCK key
  LSHIFT = 0xA0 # Left SHIFT key
  RSHIFT = 0xA1 # Right SHIFT key
  LCONTROL = 0xA2 # Left CONTROL key
  RCONTROL = 0xA3 # Right CONTROL key
  LMENU = 0xA4 # Left MENU key
  RMENU = 0xA5 # Right MENU key
  BROWSER_BACK = 0xA6 # Windows 2000/XP: Browser Back key
  BROWSER_FORWARD = 0xA7 # Windows 2000/XP: Browser Forward key
  BROWSER_REFRESH = 0xA8 # Windows 2000/XP: Browser Refresh key
  BROWSER_STOP = 0xA9 # Windows 2000/XP: Browser Stop key
  BROWSER_SEARCH = 0xAA # Windows 2000/XP: Browser Search key
  BROWSER_FAVORITES = 0xAB # Windows 2000/XP: Browser Favorites key
  BROWSER_HOME = 0xAC # Windows 2000/XP: Browser Start and Home key
  VOLUME_MUTE = 0xAD # Windows 2000/XP: Volume Mute key
  VOLUME_DOWN = 0xAE # Windows 2000/XP: Volume Down key
  VOLUME_UP = 0xAF # Windows 2000/XP: Volume Up key
  MEDIA_NEXT_TRACK = 0xB0 # Windows 2000/XP: Next Track key
  MEDIA_PREV_TRACK = 0xB1 # Windows 2000/XP: Previous Track key
  MEDIA_STOP = 0xB2 # Windows 2000/XP: Stop Media key
  MEDIA_PLAY_PAUSE = 0xB3 # Windows 2000/XP: Play/Pause Media key
  LAUNCH_MAIL = 0xB4 # Windows 2000/XP: Start Mail key
  LAUNCH_MEDIA_SELECT = 0xB5 # Windows 2000/XP: Select Media key
  LAUNCH_APP1 = 0xB6 # Windows 2000/XP: Start Application 1 key
  LAUNCH_APP2 = 0xB7 # Windows 2000/XP: Start Application 2 key
  OEM_1 = 0xBA # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the ';:' key
  OEM_PLUS = 0xBB # Windows 2000/XP: For any country/region, the '+' key
  OEM_COMMA = 0xBC # Windows 2000/XP: For any country/region, the ',' key
  OEM_MINUS = 0xBD # Windows 2000/XP: For any country/region, the '-' key
  OEM_PERIOD = 0xBE # Windows 2000/XP: For any country/region, the '.' key
  OEM_2 = 0xBF # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the '/?' key
  OEM_3 = 0xC0 # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the '`~' key
  OEM_4 = 0xDB # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the '[{' key
  OEM_5 = 0xDC # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the '|' key
  OEM_6 = 0xDD # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the ']}' key
  OEM_7 = 0xDE # Used for miscellaneous characters; it can vary by keyboard.
  #Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key
  OEM_8 = 0xDF # Used for miscellaneous characters; it can vary by keyboard.
  OEM_102 = 0xE2 # Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard
  PROCESSKEY = 0xE5 # Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
  PLAY = 0xFA # Play key
  ZOOM = 0xFB # Zoom key
  OEM_CLEAR = 0xFE # Clear key
 
end

 

강제 키입력을 가능하게 하는 스크립트입니다.

 

사용예시)

ALT + Enter를 누른 것처럼 하려면

 

VK.down(VK::ALT) # ALT down
VK.down(VK::ENTER) # ENTER down
VK.up(VK::ENTER) # ENTER up
VK.up(VK::ALT) # ALT up

 

이렇게 하시면 됩니다.


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
208 RPGXP 스크립트 새로운 턴형식(사이드뷰비슷한...) 1 file A.M.S 2010.10.14 2470 1
207 RPGXP 스크립트 퀘스트스크립트 2 1 file A.M.S 2010.10.24 2511 1
206 RPGVX 스크립트 Window_Message_Plus v3.2 3 1 file 에존 2009.11.29 2446 1
205 RPGVX 스크립트 에너미 아이템 변화 스크립트 1 Evangelista 2009.05.29 2460 1
204 RPGVX 스크립트 현재 파티내 캐릭터를 선택지로 처리할 때 간편히 하자. file Evangelista 2009.01.01 1778 1
203 RPGVX 스크립트 [VX] 메시지 표시를 한번에 표시로 전환하기 Evangelista 2008.11.28 1975 1
202 RPGVX 스크립트 [VX] 조건분기로 키입력의 처리 실행 1 Evangelista 2008.11.28 1734 1
201 RPGVX 스크립트 [VX] 파티 선두 캐릭터 액터ID를 변수에 넣기 Evangelista 2008.11.28 1710 1
200 RPGVX 스크립트 vx 한글이름입력 2 file 가가상 2010.05.21 3061 1
199 RPGXP 스크립트 파티 선두 캐릭터 id 변수에 넣기 Evangelista 2008.01.08 1380 1
198 RPGXP 스크립트 그림자문자 사용하기.. 바탕색이 무슨색이건 상관없이 글자가 잘보인다!!! 창조도시 2007.11.06 1475 1
197 RPGXP 스크립트 게임도중에 글씨체를 바꿔보자. 창조도시 2008.12.31 1266 1
196 RPGXP 스크립트 대화창에 얼굴 띄우기& 대화창 명령어 모음. 1 file 창조도시 2008.12.31 2083 1
195 RPGXP 스크립트 c[n] 명령어 줄때의 색상 결정. 창조도시 2008.02.14 1015 1
194 RPGXP 스크립트 아이템창을 아이템 분류별로 나누어 지게 개조. 3 file 창조도시 2007.12.02 1641 1
193 RPGXP 스크립트 맵 이름을 화면 상단에 띄우기. 1 1 file 창조도시 2008.10.12 2083 1
192 RPGXP 스크립트 대각선 방향 이동추가로 8방향 이동 만들기. 1 창조도시 2008.08.14 2204 1
191 RPGXP 스크립트 새로운 게임 시작/로드 시 미묘한 연출 추가. 창조도시 2007.12.01 2293 1
190 RPGMV 플러그인 업적플러그인 스트레이보우 2020.09.02 1648 0
189 RPGXP 스크립트 한글조합입력기(영어가능) file 조규진1 2019.11.10 627 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)