热门内容

公众号"MAKE1"

获取行业最新资讯

请扫码添加

专业客服企业微信

高通Android平台添加按键键值的方法

简介

高通平台添加键值方法

diff --git a/src/LINUX/android/external/webkit/Source/WebKit/android/plugins/ANPKeyCodes.h b/src/LINUX/android/external/webkit/Source/WebKit/android/plugins/ANPKeyCodes.h

old mode 100644

new mode 100755

index 969679f..e265675

--- a/src/LINUX/android/external/webkit/Source/WebKit/android/plugins/ANPKeyCodes.h

+++ b/src/LINUX/android/external/webkit/Source/WebKit/android/plugins/ANPKeyCodes.h

@@ -222,6 +222,11 @@ enum ANPKeyCodes {

kProgBlue_ANPKeyCode = 186,

kAppSwitch_ANPKeyCode = 187,

+ kGesUp_ANPKeyCode = 223, //young.yang add began

+ kGesDown_ANPKeyCode = 224,

+ kGesLeft_ANPKeyCode = 225,

+ kGesRight_ANPKeyCode = 226, //young.yang add end

+

// NOTE: If you add a new keycode here you must also add it to several other files.

// Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.

};

diff --git a/src/LINUX/android/frameworks/base/api/current.txt b/src/LINUX/android/frameworks/base/api/current.txt

index 8e69592..cbc8af4 100644

--- a/src/LINUX/android/frameworks/base/api/current.txt

+++ b/src/LINUX/android/frameworks/base/api/current.txt

@@ -21790,7 +21790,7 @@ package android.renderscript {

}

public class BaseObj {

- method public synchronized void destroy();

+ method public void destroy();

method public java.lang.String getName();

method public void setName(java.lang.String);

}

@@ -26801,6 +26801,10 @@ package android.view {

field public static final int KEYCODE_FORWARD_DEL = 112; // 0x70

field public static final int KEYCODE_FUNCTION = 119; // 0x77

field public static final int KEYCODE_G = 35; // 0x23

+ field public static final int KEYCODE_GES_DOWN = 224; // 0xe0

+ field public static final int KEYCODE_GES_LEFT = 225; // 0xe1

+ field public static final int KEYCODE_GES_RIGHT = 226; // 0xe2

+ field public static final int KEYCODE_GES_UP = 223; // 0xdf

field public static final int KEYCODE_GRAVE = 68; // 0x44

field public static final int KEYCODE_GUIDE = 172; // 0xac

field public static final int KEYCODE_H = 36; // 0x24

diff --git a/src/LINUX/android/frameworks/base/core/java/android/view/KeyEvent.java b/src/LINUX/android/frameworks/base/core/java/android/view/KeyEvent.java

old mode 100644

new mode 100755

index 5a5fc10..2975add

--- a/src/LINUX/android/frameworks/base/core/java/android/view/KeyEvent.java

+++ b/src/LINUX/android/frameworks/base/core/java/android/view/KeyEvent.java

@@ -633,7 +633,13 @@ public class KeyEvent extends InputEvent implements Parcelable {

* Switches the audio tracks. */

public static final int KEYCODE_MEDIA_AUDIO_TRACK = 222;

- private static final int LAST_KEYCODE = KEYCODE_MEDIA_AUDIO_TRACK;

+ /*young.yang add GES kcode*/

+ public static final int KEYCODE_GES_UP = 223;

+ public static final int KEYCODE_GES_DOWN = 224;

+ public static final int KEYCODE_GES_LEFT = 225;

+ public static final int KEYCODE_GES_RIGHT = 226;

+

+ private static final int LAST_KEYCODE = KEYCODE_GES_RIGHT;

// NOTE: If you add a new keycode here you must also add it to:

// isSystem()

@@ -878,6 +884,10 @@ public class KeyEvent extends InputEvent implements Parcelable {

names.append(KEYCODE_BRIGHTNESS_DOWN, "KEYCODE_BRIGHTNESS_DOWN");

names.append(KEYCODE_BRIGHTNESS_UP, "KEYCODE_BRIGHTNESS_UP");

names.append(KEYCODE_MEDIA_AUDIO_TRACK, "KEYCODE_MEDIA_AUDIO_TRACK");

+ names.append(KEYCODE_GES_UP, "KEYCODE_GES_UP"); //young.yang add began

+ names.append(KEYCODE_GES_DOWN, "KEYCODE_GES_DOWN");

+ names.append(KEYCODE_GES_LEFT, "KEYCODE_GES_LEFT");

+ names.append(KEYCODE_GES_RIGHT, "KEYCODE_GES_RIGHT"); //young.yang add end

};

// Symbolic names of all metakeys in bit order from least significant to most significant.

diff --git a/src/LINUX/android/frameworks/base/core/res/res/values/attrs.xml b/src/LINUX/android/frameworks/base/core/res/res/values/attrs.xml

old mode 100644

new mode 100755

index b91cca2..ec71279

--- a/src/LINUX/android/frameworks/base/core/res/res/values/attrs.xml

+++ b/src/LINUX/android/frameworks/base/core/res/res/values/attrs.xml

@@ -1567,6 +1567,11 @@

 

 

 

+

+

+

+

+

 

diff --git a/src/LINUX/android/frameworks/base/data/keyboards/Generic.kl b/src/LINUX/android/frameworks/base/data/keyboards/Generic.kl

old mode 100644

new mode 100755

index 1413319..f0b9294

--- a/src/LINUX/android/frameworks/base/data/keyboards/Generic.kl

+++ b/src/LINUX/android/frameworks/base/data/keyboards/Generic.kl

@@ -247,6 +247,11 @@ key 224 BRIGHTNESS_DOWN

key 225 BRIGHTNESS_UP

key 226 HEADSETHOOK

+key 249 GES_UP

+key 250 GES_DOWN

+key 251 GES_LEFT

+key 252 GES_RIGHT

+

key 256 BUTTON_1

key 257 BUTTON_2

key 258 BUTTON_3

diff --git a/src/LINUX/android/frameworks/native/include/android/keycodes.h b/src/LINUX/android/frameworks/native/include/android/keycodes.h

old mode 100644

new mode 100755

index 1ca1332..61e7277

--- a/src/LINUX/android/frameworks/native/include/android/keycodes.h

+++ b/src/LINUX/android/frameworks/native/include/android/keycodes.h

@@ -267,6 +267,12 @@ enum {

AKEYCODE_BRIGHTNESS_UP = 221,

AKEYCODE_MEDIA_AUDIO_TRACK = 222,

+ //young.yang add ges kcode

+ AKEYCODE_GES_UP = 223,

+ AKEYCODE_GES_DOWN = 224,

+ AKEYCODE_GES_LEFT = 225,

+ AKEYCODE_GES_RIGHT = 226,

+

// NOTE: If you add a new keycode here you must also add it to several other files.

// Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.

};

diff --git a/src/LINUX/android/frameworks/native/include/input/KeycodeLabels.h b/src/LINUX/android/frameworks/native/include/input/KeycodeLabels.h

old mode 100644

new mode 100755

index c64c5d8..48198fb

--- a/src/LINUX/android/frameworks/native/include/input/KeycodeLabels.h

+++ b/src/LINUX/android/frameworks/native/include/input/KeycodeLabels.h

@@ -248,6 +248,12 @@ static const KeycodeLabel KEYCODES[] = {

{ "BRIGHTNESS_UP", 221 },

{ "MEDIA_AUDIO_TRACK", 222 },

+ //young.yang add ges kcode

+ { "GES_UP", 223 },

+ { "GES_DOWN", 224 },

+ { "GES_LEFT", 225 },

+ { "GES_RIGHT", 226 },

+

// NOTE: If you add a new keycode here you must also add it to several other files.

// Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.

diff --git a/src/LINUX/android/frameworks/native/libs/input/Input.cpp b/src/LINUX/android/frameworks/native/libs/input/Input.cpp

old mode 100644

new mode 100755

index 6f53996..cb3d05c

--- a/src/LINUX/android/frameworks/native/libs/input/Input.cpp

+++ b/src/LINUX/android/frameworks/native/libs/input/Input.cpp

@@ -110,6 +110,10 @@ bool KeyEvent::isSystemKey(int32_t keyCode) {

case AKEYCODE_BRIGHTNESS_DOWN:

case AKEYCODE_BRIGHTNESS_UP:

case AKEYCODE_MEDIA_AUDIO_TRACK:

+ case AKEYCODE_GES_UP: //young.yang add ges kcode began

+ case AKEYCODE_GES_DOWN:

+ case AKEYCODE_GES_LEFT:

+ case AKEYCODE_GES_RIGHT: //young.yang add ges kcode end

return true;

}

diff --git a/src/LINUX/android/hardware/stkgesd/stk_ges.kl b/src/LINUX/android/hardware/stkgesd/stk_ges.kl

index d831f8d..ca3bbf8 100755

--- a/src/LINUX/android/hardware/stkgesd/stk_ges.kl

+++ b/src/LINUX/android/hardware/stkgesd/stk_ges.kl

@@ -11,12 +11,11 @@

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

-

-key 103 DPAD_UP

key 104 PAGE_UP

-key 105 DPAD_LEFT

-key 106 DPAD_RIGHT

-key 108 DPAD_DOWN

key 109 PAGE_DOWN

key 114 VOLUME_DOWN

key 115 VOLUME_UP

+key 249 GES_UP

+key 250 GES_DOWN

+key 251 GES_LEFT

+key 252 GES_RIGHT

diff --git a/src/LINUX/android/kernel/drivers/input/misc/stk3420.c b/src/LINUX/android/kernel/drivers/input/misc/stk3420.c

index 737dc3c..e294fb8 100755

--- a/src/LINUX/android/kernel/drivers/input/misc/stk3420.c

+++ b/src/LINUX/android/kernel/drivers/input/misc/stk3420.c

@@ -54,7 +54,7 @@

#define STK_PS_INT_MODE 0 /* 0:normal interrupt; 1:LOW for near, HIGH for far */

#define STK_POLL_PS

#define STK_POLL_ALS /* ALS interrupt is valid only when STK_PS_INT_MODE = 0 */

-//#define CALI_PS_EVERY_TIME

+#define CALI_PS_EVERY_TIME

//#define STK_ALS_FIR

//#define STK_IRS

//#define STK_CHK_REG

@@ -373,6 +373,9 @@ struct stk3420_data {

#ifdef CONFIG_HAS_EARLYSUSPEND

//struct early_suspend stk_early_suspend;

#endif

+

+

+ bool sunlight_ges;

};

#if( !defined(CONFIG_STK_PS_ALS_USE_CHANGE_THRESHOLD))

@@ -935,7 +938,8 @@ static int32_t stk3420_enable_ges(struct stk3420_data *ps_data, uint8_t enable)

if(ret < 0)

return ret;

w_state_reg = ret;

-

+

+ ps_data->sunlight_ges = false;

if(enable) {

#ifdef STK_QUALCOMM_POWER_CTRL

ret = stk_device_ctl(ps_data, enable);

@@ -1586,29 +1590,47 @@ static int32_t stk_ges_input_touch_event(struct stk3420_data *ps_data, struct de

return 0;

}

+static int stk_ps_val(struct stk3420_data *ps_data);

static int32_t stk_ges_input_key_event(struct stk3420_data *ps_data, struct device *dev, int value)

{

uint8_t ges;

-

+ int ret;

+

+ ret = stk_ps_val(ps_data);

+ if((ret == 0xFFFF) && (ps_data->sunlight_ges == false))

+ {

+ ps_data->sunlight_ges = true;

+ APS_LOG( "%s: enter sunlightn",__func__);

+ return 0;

+ }else if((ret != 0xFFFF) && (ps_data->sunlight_ges == true)){

+ ps_data->sunlight_ges = false;

+ APS_LOG( "%s: exit sunlightn",__func__);

+ return 0;

+ }

+ if(ps_data->sunlight_ges == true){

+ APS_LOG( "%s: sunlight ges dispatchn",__func__);

+ return 0;

+ }

+

switch(value) {

case 3:

//APS_INFO("%s: ges input event, not detectedn",__func__);

case 0:

return 0;

case 1:

- ges = KEY_UP;

+ ges = KEY_GES_UP;

APS_INFO("%s: ges input event ^^^^n",__func__);

break;

case 2:

- ges = KEY_DOWN;

+ ges = KEY_GES_DOWN;

APS_INFO("%s: ges input event vvvvn",__func__);

break;

case 8:

- ges = KEY_LEFT;

+ ges = KEY_GES_LEFT;

APS_INFO("%s: ges input event <<<

break;

case 16:

- ges = KEY_RIGHT;

+ ges = KEY_GES_RIGHT;

APS_INFO("%s: ges input event >>>>n",__func__);

break;

case 32:

@@ -1624,7 +1646,7 @@ static int32_t stk_ges_input_key_event(struct stk3420_data *ps_data, struct devi

APS_ERR("%s, unknown key %d, force report itn", __func__, (int)value);

//return -EINVAL;

}

-

+ printk("n[young] : kernel ges = %dn",ges);

input_report_key(ps_data->ges_input_dev, ges, 1);

input_report_key(ps_data->ges_input_dev, ges, 0);

input_sync(ps_data->ges_input_dev);

@@ -2255,6 +2277,7 @@ static int stk_ps_tune0_boot_init(struct stk3420_data *ps_data)

ps_data->tune0.ps_stat_data[2] = 9999;

ps_data->tune0.ps_stat_data[1] = 0;

ps_data->tune0.data_count = 0;

+ ps_data->sunlight_ges = false;

ps_data->tune0.tune_zero_init_proc = true;

ret = stk3420_i2c_write_byte_data(ps_data->client, STK_INT_REG, 0);

@@ -3394,10 +3417,10 @@ static int stk_set_input_devices(struct stk3420_data *ps_data)

set_bit(KEY_VOLUMEUP, ps_data->ges_input_dev->keybit);

set_bit(KEY_VOLUMEDOWN, ps_data->ges_input_dev->keybit);

- set_bit(KEY_LEFT, ps_data->ges_input_dev->keybit);

- set_bit(KEY_RIGHT, ps_data->ges_input_dev->keybit);

- set_bit(KEY_UP, ps_data->ges_input_dev->keybit);

- set_bit(KEY_DOWN, ps_data->ges_input_dev->keybit);

+ set_bit(KEY_GES_LEFT, ps_data->ges_input_dev->keybit);

+ set_bit(KEY_GES_RIGHT, ps_data->ges_input_dev->keybit);

+ set_bit(KEY_GES_UP, ps_data->ges_input_dev->keybit);

+ set_bit(KEY_GES_DOWN, ps_data->ges_input_dev->keybit);

set_bit(195, ps_data->ges_input_dev->keybit);

set_bit(196, ps_data->ges_input_dev->keybit);

diff --git a/src/LINUX/android/kernel/include/uapi/linux/input.h b/src/LINUX/android/kernel/include/uapi/linux/input.h

old mode 100644

new mode 100755

index 250834c..6527964

--- a/src/LINUX/android/kernel/include/uapi/linux/input.h

+++ b/src/LINUX/android/kernel/include/uapi/linux/input.h

@@ -470,6 +470,12 @@ struct input_keymap_entry {

#define KEY_MICMUTE 248 /* Mute / unmute the microphone */

+#define KEY_GES_UP 249 //young.yang add began

+#define KEY_GES_DOWN 250

+#define KEY_GES_LEFT 251

+#define KEY_GES_RIGHT 252 //young.yang add end

+

+

/* Code 255 is reserved for special needs of AT keyboard driver */

#define BTN_MISC 0x100

0
 条评论
相关内容推荐