3. KEY

k2000的按键控制不在是常规的通过回读高低电平的方法来识别按键,而是通过判断指定字符串来判断键值。

3.1. 识别按键按下

SHARP_read_key_press(before_time) 此方法会返回一串字符串,并通过识别字符串来识别按键按下。,该方法位于 sharp_user 模块中。

before_time 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

返回的字符串内容
  • 1.NO_KEY_ACTION (无动作)

  • 2.KEY1_PRESS (按键1按下)

  • 3.KEY2_PRESS (按键2按下)

  • 4.KEY3_PRESS (按键3按下)

  • 5.KEY4_PRESS (按键4按下)

  • 6.KEY5_PRESS (按键5按下)

  • 7.KEY6_PRESS (按键6按下)

  • 8.KEY7_PRESS (按键7按下)

注意

有多个按键动作会返回多个按键动作对应的字符串,以逗号(,)分隔

from sharp_user import *
key_str = SHARP_read_key_press(500)
if key_str.find('KEY1_PRESS') != -1:
    pass
elif key_str.find('KEY2_PRESS') != -1:
    pass
elif key_str.find('KEY3_PRESS') != -1:
    pass
elif key_str.find('KEY4_PRESS') != -1:
    pass
elif key_str.find('KEY5_PRESS') != -1:
    pass
elif key_str.find('KEY6_PRESS') != -1:
    pass
eliff key_str.find('KEY7_PRESS') != -1:
    pass

3.2. 识别按键抬起

SHARP_read_key_lift(before_time) 此方法会返回一串字符串,并通过识别字符串来识别按键抬起。,该方法位于 sharp_user 模块中。

before_time 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

返回的字符串内容
  • 1.no_key_action (无动作)

  • 2.key_onoff_lift (OFF按键抬起/释放)

  • 3.key_down_lift (下翻按键抬起/释放)

  • 4.key_up_lift (上翻按键抬起/释放)

  • 5.key_enter_lift (确认按键抬起/释放)

  • 6.key_sub_lift (减 按键抬起/释放)

  • 7.key_add_lift (加 按键抬起/释放)

  • 8.key_spare_lift (备用按键抬起/释放)

3.3. 识别按键长按

SHARP_read_key_Long_press(before_time) 此方法会返回一串字符串,并通过识别字符串来识别按键长按。,该方法位于 sharp_user 模块中。

before_time 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

返回的字符串内容
  • 1.no_key_action (无动作)

  • 2.key_onoff_long_press (ON/OFF按键长按)

  • 3.key_down_long_press (下翻按键长按)

  • 4.key_up_long_press (上翻按键长按)

  • 5.key_enter_long_press (确认按键长按)

  • 6.key_sub_long_press (减 按键长按)

  • 7.key_add_long_press (加 按键长按)

  • 8.key_spare_long_press (备用按键长按)

3.4. 识别按键连续长按

SHARP_read_key_continuous_long_press(before_time) 此方法会返回一串字符串,并通过识别字符串来识别按键连续长按。,该方法位于 sharp_user 模块中。

before_time 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

返回的字符串内容
  • 1.no_key_action (无动作)

  • 2.key_onoff_long_press (ON/OFF按键长按)

  • 3.key_down_long_press (下翻按键长按)

  • 4.key_up_long_press (上翻按键长按)

  • 5.key_enter_long_press (确认按键长按)

  • 6.key_sub_long_press (减 按键长按)

  • 7.key_add_long_press (加 按键长按)

  • 8.key_spare_long_press (备用按键长按)

3.5. 识别按键抬起

SHARP_read_bus_encoder(before_time) 此方法会返回一串字符串,并通过识别字符串来获取按键盒旋转编码器的动作。,该方法位于 sharp_user 模块中。

before_time 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

返回的字符串内容
  • 1.NO_EC_ACTION (无动作)

  • 2.EC_CW_x (顺时针转动)

  • 3.EC_CCW_x (逆时针转动)

  • 4.EC_PRESS_CW_x (按下顺时针转动)

  • 5.EC_PRESS_CCW_x (按下逆时针转动)

  • 6.EC_PRESS (短按)

  • 7.EC_LOING_PRESS (长按)

后面的 _x 为旋转次数

3.6. 设置按键对应的LED

SHARP_key_SetLed(KEYx, OnOff) 此方法会设置按键的LED,该方法位于 sharp_user 模块中。

KEYx 每个按键对应的序列号
  • key_onoff,

  • key_down,

  • key_up,

  • key_enter,

  • key_sub,

  • key_add,

  • key_spare

OnOff 0-关闭 1-开启