Project1

标题: 全键盘~ 改 [打印本页]

作者: 雷欧纳德    时间: 2006-10-8 07:25
标题: 全键盘~ 改
全键盘~ 改

说明:至于原来站上那个全键盘的有什么问题试就知道了。。。。

1、Kboard.press?(key) 同 Input.press?(key)
2、Kboard.repeat?(key) 同 Input.repeat?(key)
3、Kboard.trigger?(key) 同 Input.trigger?(key)

以下脚本中没给出键值,需要的自己查找。。。

  1. module Kboard

  2.   module_function
  3.   
  4.   @R_Key_Hash = {}
  5.   @R_Key_Repeat = {}
  6.   
  7.   GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')

  8.   def press?(rkey)
  9.     return GetKeyState.call(rkey) != 0
  10.   end
  11.   
  12.   def repeat?(rkey)
  13.     result = GetKeyState.call(rkey)
  14.     if result != 0
  15.       if @R_Key_Repeat[rkey].nil?
  16.         @R_Key_Repeat[rkey] = 0
  17.         return true
  18.       end
  19.       @R_Key_Repeat[rkey] += 1
  20.     else
  21.       @R_Key_Repeat[rkey] = nil
  22.       @R_Key_Hash[rkey] = 0
  23.     end
  24.     if !@R_Key_Repeat[rkey].nil? and @R_Key_Repeat[rkey] > 4 # 4乃准确数字
  25.       @R_Key_Repeat[rkey] = 0
  26.       return true
  27.     else
  28.       return false
  29.     end
  30.   end
  31.   
  32.   def trigger?(rkey)
  33.     result = GetKeyState.call(rkey)
  34.     if @R_Key_Hash[rkey] == 1 and result != 0
  35.       return false
  36.     end
  37.     if result != 0
  38.       @R_Key_Hash[rkey] = 1
  39.       return true
  40.     else
  41.       @R_Key_Hash[rkey] = 0
  42.       return false
  43.     end
  44.   end
  45.   
  46. end
复制代码

作者: 雷欧纳德    时间: 2006-10-8 07:25
标题: 全键盘~ 改
全键盘~ 改

说明:至于原来站上那个全键盘的有什么问题试就知道了。。。。

1、Kboard.press?(key) 同 Input.press?(key)
2、Kboard.repeat?(key) 同 Input.repeat?(key)
3、Kboard.trigger?(key) 同 Input.trigger?(key)

以下脚本中没给出键值,需要的自己查找。。。

  1. module Kboard

  2.   module_function
  3.   
  4.   @R_Key_Hash = {}
  5.   @R_Key_Repeat = {}
  6.   
  7.   GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')

  8.   def press?(rkey)
  9.     return GetKeyState.call(rkey) != 0
  10.   end
  11.   
  12.   def repeat?(rkey)
  13.     result = GetKeyState.call(rkey)
  14.     if result != 0
  15.       if @R_Key_Repeat[rkey].nil?
  16.         @R_Key_Repeat[rkey] = 0
  17.         return true
  18.       end
  19.       @R_Key_Repeat[rkey] += 1
  20.     else
  21.       @R_Key_Repeat[rkey] = nil
  22.       @R_Key_Hash[rkey] = 0
  23.     end
  24.     if !@R_Key_Repeat[rkey].nil? and @R_Key_Repeat[rkey] > 4 # 4乃准确数字
  25.       @R_Key_Repeat[rkey] = 0
  26.       return true
  27.     else
  28.       return false
  29.     end
  30.   end
  31.   
  32.   def trigger?(rkey)
  33.     result = GetKeyState.call(rkey)
  34.     if @R_Key_Hash[rkey] == 1 and result != 0
  35.       return false
  36.     end
  37.     if result != 0
  38.       @R_Key_Hash[rkey] = 1
  39.       return true
  40.     else
  41.       @R_Key_Hash[rkey] = 0
  42.       return false
  43.     end
  44.   end
  45.   
  46. end
复制代码

作者: 两只鱼    时间: 2006-10-8 09:17
想问鼠标中也能定义吗{/gg}
作者: 雷欧纳德    时间: 2006-10-8 15:17
以下引用两只鱼于2006-10-8 1:17:55的发言:

想问鼠标中也能定义吗

你打算定义啥? {/gg}
作者: 两只鱼    时间: 2006-10-8 20:20
少打一个字了~~是鼠标中键
作者: frantice    时间: 2006-10-8 20:22
可以的{/se}

但是偶不会{/hx}
作者: oksh    时间: 2006-10-8 22:58
记录一下,试了看看。
作者: 柳柳    时间: 2006-10-27 08:59
发布完毕……
VIP += 6




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1