Done button on keyboard

989 views
Skip to first unread message

adithya alladi

unread,
Jul 28, 2014, 11:20:25 AM7/28/14
to calabash...@googlegroups.com
Hi, Can someone please help me how to touch Done button on android keyboard using calabash. I have tried KEYCODE events and "done" in console but it is not performing any action. Unable to close the keyboard by swiping the screen down. The only option for me is to tap on Done on the keyboard so that the keyboard disappears and I can access other elements on that screen.


Thanks

Grant

unread,
Jul 28, 2014, 12:55:53 PM7/28/14
to calabash...@googlegroups.com
We did this:

# Maps a event string to the Key Event code listed below
#
# * Parameters:
#   key_event - event text to map to the key event code
#
# * Returns:
#     The Key Event Code for Android
#     or
#     The key_event parameter if event_text is not found in map
def map_key_event(event_text)

    case event_text
       when "Done"
          key_event = "KEYCODE_ENTER"
       when "Next"
          key_event = "KEYCODE_ENTER"
       else
          key_event = event_text
    end
   
    return key_event
end

Defines:
###   
# By 'adb shell input keyevent', either an event_code or a string will be sent to the device.
# usage: input [text|keyevent]
#  input text <string>
#  input keyevent <event_code>
#  Key Event_code:
=begin
0 -->  "KEYCODE_UNKNOWN"
1 -->  "KEYCODE_MENU"
2 -->  "KEYCODE_SOFT_RIGHT"
3 -->  "KEYCODE_HOME"
4 -->  "KEYCODE_BACK"
5 -->  "KEYCODE_CALL"
6 -->  "KEYCODE_ENDCALL"
7 -->  "KEYCODE_0"
8 -->  "KEYCODE_1"
9 -->  "KEYCODE_2"
10 -->  "KEYCODE_3"
11 -->  "KEYCODE_4"
12 -->  "KEYCODE_5"
13 -->  "KEYCODE_6"
14 -->  "KEYCODE_7"
15 -->  "KEYCODE_8"
16 -->  "KEYCODE_9"
17 -->  "KEYCODE_STAR"
18 -->  "KEYCODE_POUND"
19 -->  "KEYCODE_DPAD_UP"
20 -->  "KEYCODE_DPAD_DOWN"
21 -->  "KEYCODE_DPAD_LEFT"
22 -->  "KEYCODE_DPAD_RIGHT"
23 -->  "KEYCODE_DPAD_CENTER"
24 -->  "KEYCODE_VOLUME_UP"
25 -->  "KEYCODE_VOLUME_DOWN"
26 -->  "KEYCODE_POWER"
27 -->  "KEYCODE_CAMERA"
28 -->  "KEYCODE_CLEAR"
29 -->  "KEYCODE_A"
30 -->  "KEYCODE_B"
31 -->  "KEYCODE_C"
32 -->  "KEYCODE_D"
33 -->  "KEYCODE_E"
34 -->  "KEYCODE_F"
35 -->  "KEYCODE_G"
36 -->  "KEYCODE_H"
37 -->  "KEYCODE_I"
38 -->  "KEYCODE_J"
39 -->  "KEYCODE_K"
40 -->  "KEYCODE_L"
41 -->  "KEYCODE_M"
42 -->  "KEYCODE_N"
43 -->  "KEYCODE_O"
44 -->  "KEYCODE_P"
45 -->  "KEYCODE_Q"
46 -->  "KEYCODE_R"
47 -->  "KEYCODE_S"
48 -->  "KEYCODE_T"
49 -->  "KEYCODE_U"
50 -->  "KEYCODE_V"
51 -->  "KEYCODE_W"
52 -->  "KEYCODE_X"
53 -->  "KEYCODE_Y"
54 -->  "KEYCODE_Z"
55 -->  "KEYCODE_COMMA"
56 -->  "KEYCODE_PERIOD"
57 -->  "KEYCODE_ALT_LEFT"
58 -->  "KEYCODE_ALT_RIGHT"
59 -->  "KEYCODE_SHIFT_LEFT"
60 -->  "KEYCODE_SHIFT_RIGHT"
61 -->  "KEYCODE_TAB"
62 -->  "KEYCODE_SPACE"
63 -->  "KEYCODE_SYM"
64 -->  "KEYCODE_EXPLORER"
65 -->  "KEYCODE_ENVELOPE"
66 -->  "KEYCODE_ENTER"
67 -->  "KEYCODE_DEL"
68 -->  "KEYCODE_GRAVE"
69 -->  "KEYCODE_MINUS"
70 -->  "KEYCODE_EQUALS"
71 -->  "KEYCODE_LEFT_BRACKET"
72 -->  "KEYCODE_RIGHT_BRACKET"
73 -->  "KEYCODE_BACKSLASH"
74 -->  "KEYCODE_SEMICOLON"
75 -->  "KEYCODE_APOSTROPHE"
76 -->  "KEYCODE_SLASH"
77 -->  "KEYCODE_AT"
78 -->  "KEYCODE_NUM"
79 -->  "KEYCODE_HEADSETHOOK"
80 -->  "KEYCODE_FOCUS"
81 -->  "KEYCODE_PLUS"
82 -->  "KEYCODE_MENU"
83 -->  "KEYCODE_NOTIFICATION"
84 -->  "KEYCODE_SEARCH"
85 -->  "TAG_LAST_KEYCODE"
=end

Grant

unread,
Jul 28, 2014, 1:06:13 PM7/28/14
to calabash...@googlegroups.com
# Sends a Key Press Event via the Native Keyboard.
# Key event can be a number or a defined string,
#  see above key event code mapping.
# If an error occurs, an exception is raised with message.
#
# * Parameters:
#      key_event - the key event code or string
#                  See above key event codes.
#
# * Returns:
#     nil or nothing
def keyboard_enter_keyevent(key_event)
   
    if key_event.present?
       key_event = map_key_event(key_event)
       input_command = "#{default_device.adb_command} shell input keyevent #{key_event}"
       raise "Could not send key Event #{key_event}" unless system(input_command)
    else
       raise "keyboard key event is empty"
    end
end
Reply all
Reply to author
Forward
0 new messages