MSM8974: Initial Common repo commit.
This commit is contained in:
commit
8eb37d439c
29
Android.mk
Normal file
29
Android.mk
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2012 The Android Open-Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# WARNING: Everything listed here will be built on ALL platforms,
|
||||||
|
# including x86, the emulator, and the SDK. Modules must be uniquely
|
||||||
|
# named (liblights.tuna), and must build everywhere, or limit themselves
|
||||||
|
# to only building on ARM if they include assembly. Individual makefiles
|
||||||
|
# are responsible for having their own logic, for fine-grained control.
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
ifeq ($(BOARD_VENDOR),samsung)
|
||||||
|
ifneq ($(filter msm8974 msm8960,$(TARGET_BOARD_PLATFORM)),)
|
||||||
|
include $(call all-subdir-makefiles,$(LOCAL_PATH))
|
||||||
|
endif
|
||||||
|
endif
|
112
BoardConfigCommon.mk
Normal file
112
BoardConfigCommon.mk
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
# Copyright (C) 2012 The CyanogenMod Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
BOARD_VENDOR := samsung
|
||||||
|
|
||||||
|
# Platform
|
||||||
|
TARGET_BOARD_PLATFORM := msm8974
|
||||||
|
TARGET_BOARD_PLATFORM_GPU := qcom-adreno330
|
||||||
|
|
||||||
|
# inherit from qcom-common
|
||||||
|
-include device/samsung/qcom-common/BoardConfigCommon.mk
|
||||||
|
|
||||||
|
# Architecture
|
||||||
|
TARGET_CPU_SMP := true
|
||||||
|
|
||||||
|
TARGET_GLOBAL_CFLAGS += -mfpu=neon-vfpv4 -mfloat-abi=softfp
|
||||||
|
TARGET_GLOBAL_CPPFLAGS += -mfpu=neon-vfpv4 -mfloat-abi=softfp
|
||||||
|
TARGET_CPU_VARIANT := krait
|
||||||
|
|
||||||
|
# Wifi related defines
|
||||||
|
WIFI_BAND := 802_11_ABG
|
||||||
|
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||||
|
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
||||||
|
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
|
||||||
|
BOARD_HOSTAPD_DRIVER := NL80211
|
||||||
|
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
|
||||||
|
BOARD_WLAN_DEVICE := bcmdhd
|
||||||
|
BOARD_HAVE_SAMSUNG_WIFI := true
|
||||||
|
|
||||||
|
WIFI_DRIVER_MODULE_ARG := "firmware_path=/system/etc/wifi/bcmdhd_sta.bin nvram_path=/system/etc/wifi/nvram_net.txt"
|
||||||
|
WIFI_DRIVER_MODULE_AP_ARG := "firmware_path=/system/etc/wifi/bcmdhd_apsta.bin nvram_path=/system/etc/wifi/nvram_net.txt"
|
||||||
|
WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/dhd/parameters/firmware_path"
|
||||||
|
WIFI_DRIVER_FW_PATH_STA := "/system/etc/wifi/bcmdhd_sta.bin"
|
||||||
|
WIFI_DRIVER_FW_PATH_AP := "/system/etc/wifi/bcmdhd_apsta.bin"
|
||||||
|
|
||||||
|
# Bluetooth
|
||||||
|
BOARD_HAVE_BLUETOOTH := true
|
||||||
|
BOARD_HAVE_BLUETOOTH_BCM := true
|
||||||
|
|
||||||
|
# NFC
|
||||||
|
BOARD_HAVE_NFC := true
|
||||||
|
|
||||||
|
# Vold
|
||||||
|
BOARD_VOLD_EMMC_SHARES_DEV_MAJOR := true
|
||||||
|
BOARD_VOLD_MAX_PARTITIONS := 28
|
||||||
|
TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/msm_hsusb/gadget/lun%d/file
|
||||||
|
|
||||||
|
# Camera
|
||||||
|
TARGET_PROVIDES_CAMERA_HAL := true
|
||||||
|
USE_DEVICE_SPECIFIC_CAMERA := true
|
||||||
|
COMMON_GLOBAL_CFLAGS += -DSAMSUNG_CAMERA_HARDWARE
|
||||||
|
|
||||||
|
# Workaround to avoid issues with legacy liblights on QCOM platforms
|
||||||
|
TARGET_PROVIDES_LIBLIGHT := true
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
BOARD_HAVE_SAMSUNG_AUDIO := true
|
||||||
|
BOARD_USES_ALSA_AUDIO := true
|
||||||
|
BOARD_USES_FLUENCE_INCALL := true
|
||||||
|
BOARD_USES_FLUENCE_FOR_VOIP := true
|
||||||
|
BOARD_USES_SEPERATED_AUDIO_INPUT := true
|
||||||
|
TARGET_USES_QCOM_COMPRESSED_AUDIO := true
|
||||||
|
|
||||||
|
# QCOM support
|
||||||
|
BOARD_USES_QCOM_HARDWARE := true
|
||||||
|
TARGET_QCOM_MEDIA_VARIANT := caf-new
|
||||||
|
TARGET_QCOM_DISPLAY_VARIANT := caf-new
|
||||||
|
BOARD_USES_LEGACY_ALSA_AUDIO :=
|
||||||
|
TARGET_QCOM_AUDIO_VARIANT := caf
|
||||||
|
TARGET_USES_QCOM_BSP := true
|
||||||
|
TARGET_ENABLE_QC_AV_ENHANCEMENTS := true
|
||||||
|
|
||||||
|
# Use retire fence from MDP driver
|
||||||
|
TARGET_DISPLAY_USE_RETIRE_FENCE := true
|
||||||
|
|
||||||
|
# SELinux
|
||||||
|
BOARD_SEPOLICY_DIRS += \
|
||||||
|
device/samsung/msm8974-common/sepolicy
|
||||||
|
|
||||||
|
BOARD_SEPOLICY_UNION += \
|
||||||
|
file_contexts \
|
||||||
|
app.te \
|
||||||
|
bluetooth.te \
|
||||||
|
device.te \
|
||||||
|
domain.te \
|
||||||
|
drmserver.te \
|
||||||
|
file.te \
|
||||||
|
hci_init.te \
|
||||||
|
healthd.te \
|
||||||
|
init.te \
|
||||||
|
init_shell.te \
|
||||||
|
keystore.te \
|
||||||
|
kickstart.te \
|
||||||
|
mediaserver.te \
|
||||||
|
nfc.te \
|
||||||
|
rild.te \
|
||||||
|
surfaceflinger.te \
|
||||||
|
system.te \
|
||||||
|
ueventd.te \
|
||||||
|
wpa.te \
|
||||||
|
wpa_socket.te
|
3
README
Normal file
3
README
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Copyright 2012 - The CyanogenMod Project
|
||||||
|
|
||||||
|
Common Samsung 8974 repository
|
18
camera/Android.mk
Normal file
18
camera/Android.mk
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
ifeq ($(TARGET_PROVIDES_CAMERA_HAL_MSM8974),true)
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_SRC_FILES := \
|
||||||
|
CameraWrapper.cpp
|
||||||
|
|
||||||
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
|
libhardware liblog libcamera_client libutils
|
||||||
|
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
|
||||||
|
LOCAL_MODULE := camera.msm8974
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
endif
|
590
camera/CameraWrapper.cpp
Normal file
590
camera/CameraWrapper.cpp
Normal file
@ -0,0 +1,590 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2012, The CyanogenMod Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file CameraWrapper.cpp
|
||||||
|
*
|
||||||
|
* This file wraps a vendor camera module.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
// #define LOG_NDEBUG 0
|
||||||
|
#define LOG_PARAMETERS
|
||||||
|
|
||||||
|
#define LOG_TAG "CameraWrapper"
|
||||||
|
#include <cutils/log.h>
|
||||||
|
|
||||||
|
#include <utils/threads.h>
|
||||||
|
#include <utils/String8.h>
|
||||||
|
#include <hardware/hardware.h>
|
||||||
|
#include <hardware/camera.h>
|
||||||
|
#include <camera/Camera.h>
|
||||||
|
#include <camera/CameraParameters.h>
|
||||||
|
|
||||||
|
static android::Mutex gCameraWrapperLock;
|
||||||
|
static camera_module_t *gVendorModule = 0;
|
||||||
|
|
||||||
|
static char **fixed_set_params = NULL;
|
||||||
|
|
||||||
|
static int camera_device_open(const hw_module_t* module, const char* name,
|
||||||
|
hw_device_t** device);
|
||||||
|
static int camera_device_close(hw_device_t* device);
|
||||||
|
static int camera_get_number_of_cameras(void);
|
||||||
|
static int camera_get_camera_info(int camera_id, struct camera_info *info);
|
||||||
|
static int camera_send_command(struct camera_device * device, int32_t cmd,
|
||||||
|
int32_t arg1, int32_t arg2);
|
||||||
|
|
||||||
|
static struct hw_module_methods_t camera_module_methods = {
|
||||||
|
open: camera_device_open
|
||||||
|
};
|
||||||
|
|
||||||
|
camera_module_t HAL_MODULE_INFO_SYM = {
|
||||||
|
common: {
|
||||||
|
tag: HARDWARE_MODULE_TAG,
|
||||||
|
version_major: 1,
|
||||||
|
version_minor: 0,
|
||||||
|
id: CAMERA_HARDWARE_MODULE_ID,
|
||||||
|
name: "Hlte Camera Wrapper",
|
||||||
|
author: "The CyanogenMod Project",
|
||||||
|
methods: &camera_module_methods,
|
||||||
|
dso: NULL, /* remove compilation warnings */
|
||||||
|
reserved: {0}, /* remove compilation warnings */
|
||||||
|
},
|
||||||
|
get_number_of_cameras: camera_get_number_of_cameras,
|
||||||
|
get_camera_info: camera_get_camera_info,
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct wrapper_camera_device {
|
||||||
|
camera_device_t base;
|
||||||
|
int id;
|
||||||
|
camera_device_t *vendor;
|
||||||
|
} wrapper_camera_device_t;
|
||||||
|
|
||||||
|
#define VENDOR_CALL(device, func, ...) ({ \
|
||||||
|
wrapper_camera_device_t *__wrapper_dev = (wrapper_camera_device_t*) device; \
|
||||||
|
__wrapper_dev->vendor->ops->func(__wrapper_dev->vendor, ##__VA_ARGS__); \
|
||||||
|
})
|
||||||
|
|
||||||
|
#define CAMERA_ID(device) (((wrapper_camera_device_t *)(device))->id)
|
||||||
|
|
||||||
|
static int check_vendor_module()
|
||||||
|
{
|
||||||
|
int rv = 0;
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
|
||||||
|
if(gVendorModule)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
rv = hw_get_module_by_class("camera", "vendor",
|
||||||
|
(const hw_module_t **)&gVendorModule);
|
||||||
|
|
||||||
|
if (rv)
|
||||||
|
ALOGE("failed to open vendor camera module");
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
static char * camera_fixup_getparams(int id, const char * settings)
|
||||||
|
{
|
||||||
|
android::CameraParameters params;
|
||||||
|
params.unflatten(android::String8(settings));
|
||||||
|
|
||||||
|
android::String8 strParams = params.flatten();
|
||||||
|
char *ret = strdup(strParams.string());
|
||||||
|
|
||||||
|
ALOGD("%s: get parameters fixed up", __FUNCTION__);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
char * camera_fixup_setparams(struct camera_device * device, const char * settings)
|
||||||
|
{
|
||||||
|
int id = CAMERA_ID(device);
|
||||||
|
android::CameraParameters params;
|
||||||
|
params.unflatten(android::String8(settings));
|
||||||
|
const char* recordingHint = params.get(android::CameraParameters::KEY_RECORDING_HINT);
|
||||||
|
bool isVideo = recordingHint && !strcmp(recordingHint, "true");
|
||||||
|
|
||||||
|
if (isVideo) {
|
||||||
|
params.set("dis", "disable");
|
||||||
|
params.set(android::CameraParameters::KEY_ZSL, "off");
|
||||||
|
} else {
|
||||||
|
params.set(android::CameraParameters::KEY_ZSL, "on");
|
||||||
|
}
|
||||||
|
|
||||||
|
android::String8 strParams = params.flatten();
|
||||||
|
|
||||||
|
if (fixed_set_params[id])
|
||||||
|
free(fixed_set_params[id]);
|
||||||
|
fixed_set_params[id] = strdup(strParams.string());
|
||||||
|
char *ret = fixed_set_params[id];
|
||||||
|
|
||||||
|
ALOGD("%s: set parameters fixed up", __FUNCTION__);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************************************************************
|
||||||
|
* implementation of camera_device_ops functions
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
int camera_set_preview_window(struct camera_device * device,
|
||||||
|
struct preview_stream_ops *window)
|
||||||
|
{
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, set_preview_window, window);
|
||||||
|
}
|
||||||
|
|
||||||
|
void camera_set_callbacks(struct camera_device * device,
|
||||||
|
camera_notify_callback notify_cb,
|
||||||
|
camera_data_callback data_cb,
|
||||||
|
camera_data_timestamp_callback data_cb_timestamp,
|
||||||
|
camera_request_memory get_memory,
|
||||||
|
void *user)
|
||||||
|
{
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return;
|
||||||
|
|
||||||
|
VENDOR_CALL(device, set_callbacks, notify_cb, data_cb, data_cb_timestamp, get_memory, user);
|
||||||
|
}
|
||||||
|
|
||||||
|
void camera_enable_msg_type(struct camera_device * device, int32_t msg_type)
|
||||||
|
{
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return;
|
||||||
|
|
||||||
|
VENDOR_CALL(device, enable_msg_type, msg_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
void camera_disable_msg_type(struct camera_device * device, int32_t msg_type)
|
||||||
|
{
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return;
|
||||||
|
|
||||||
|
VENDOR_CALL(device, disable_msg_type, msg_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_msg_type_enabled(struct camera_device * device, int32_t msg_type)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, msg_type_enabled, msg_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_start_preview(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, start_preview);
|
||||||
|
}
|
||||||
|
|
||||||
|
void camera_stop_preview(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return;
|
||||||
|
|
||||||
|
VENDOR_CALL(device, stop_preview);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_preview_enabled(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, preview_enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_store_meta_data_in_buffers(struct camera_device * device, int enable)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, store_meta_data_in_buffers, enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_start_recording(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, start_recording);
|
||||||
|
}
|
||||||
|
|
||||||
|
void camera_stop_recording(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
VENDOR_CALL(device, stop_recording);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_recording_enabled(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, recording_enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void camera_release_recording_frame(struct camera_device * device,
|
||||||
|
const void *opaque)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return;
|
||||||
|
|
||||||
|
VENDOR_CALL(device, release_recording_frame, opaque);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_auto_focus(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, auto_focus);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_cancel_auto_focus(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, cancel_auto_focus);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_take_picture(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, take_picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_cancel_picture(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, cancel_picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_set_parameters(struct camera_device * device, const char *params)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
char *tmp = NULL;
|
||||||
|
tmp = camera_fixup_setparams(device, params);
|
||||||
|
|
||||||
|
#ifdef LOG_PARAMETERS
|
||||||
|
__android_log_write(ANDROID_LOG_VERBOSE, LOG_TAG, tmp);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int ret = VENDOR_CALL(device, set_parameters, tmp);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
char* camera_get_parameters(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
char* params = VENDOR_CALL(device, get_parameters);
|
||||||
|
|
||||||
|
#ifdef LOG_PARAMETERS
|
||||||
|
__android_log_write(ANDROID_LOG_VERBOSE, LOG_TAG, params);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
char * tmp = camera_fixup_getparams(CAMERA_ID(device), params);
|
||||||
|
VENDOR_CALL(device, put_parameters, params);
|
||||||
|
params = tmp;
|
||||||
|
|
||||||
|
#ifdef LOG_PARAMETERS
|
||||||
|
__android_log_write(ANDROID_LOG_VERBOSE, LOG_TAG, params);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void camera_put_parameters(struct camera_device *device, char *params)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(params)
|
||||||
|
free(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_send_command(struct camera_device * device,
|
||||||
|
int32_t cmd, int32_t arg1, int32_t arg2)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, send_command, cmd, arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void camera_release(struct camera_device * device)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
ALOGI("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device, (uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
|
||||||
|
|
||||||
|
if(!device)
|
||||||
|
return;
|
||||||
|
|
||||||
|
VENDOR_CALL(device, release);
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_dump(struct camera_device * device, int fd)
|
||||||
|
{
|
||||||
|
if(!device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return VENDOR_CALL(device, dump, fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" void heaptracker_free_leaked_memory(void);
|
||||||
|
|
||||||
|
int camera_device_close(hw_device_t* device)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
wrapper_camera_device_t *wrapper_dev = NULL;
|
||||||
|
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
|
||||||
|
android::Mutex::Autolock lock(gCameraWrapperLock);
|
||||||
|
|
||||||
|
if (!device) {
|
||||||
|
ret = -EINVAL;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < camera_get_number_of_cameras(); i++) {
|
||||||
|
if (fixed_set_params[i])
|
||||||
|
free(fixed_set_params[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
wrapper_dev = (wrapper_camera_device_t*) device;
|
||||||
|
|
||||||
|
wrapper_dev->vendor->common.close((hw_device_t*)wrapper_dev->vendor);
|
||||||
|
if (wrapper_dev->base.ops)
|
||||||
|
free(wrapper_dev->base.ops);
|
||||||
|
free(wrapper_dev);
|
||||||
|
done:
|
||||||
|
#ifdef HEAPTRACKER
|
||||||
|
heaptracker_free_leaked_memory();
|
||||||
|
#endif
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************************************************************
|
||||||
|
* implementation of camera_module functions
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
/* open device handle to one of the cameras
|
||||||
|
*
|
||||||
|
* assume camera service will keep singleton of each camera
|
||||||
|
* so this function will always only be called once per camera instance
|
||||||
|
*/
|
||||||
|
|
||||||
|
int camera_device_open(const hw_module_t* module, const char* name,
|
||||||
|
hw_device_t** device)
|
||||||
|
{
|
||||||
|
int rv = 0;
|
||||||
|
int num_cameras = 0;
|
||||||
|
int cameraid;
|
||||||
|
wrapper_camera_device_t* camera_device = NULL;
|
||||||
|
camera_device_ops_t* camera_ops = NULL;
|
||||||
|
|
||||||
|
android::Mutex::Autolock lock(gCameraWrapperLock);
|
||||||
|
|
||||||
|
ALOGI("camera_device open");
|
||||||
|
|
||||||
|
if (name != NULL) {
|
||||||
|
if (check_vendor_module())
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
cameraid = atoi(name);
|
||||||
|
num_cameras = gVendorModule->get_number_of_cameras();
|
||||||
|
|
||||||
|
fixed_set_params = (char **) malloc(sizeof(char *) * num_cameras);
|
||||||
|
if (!fixed_set_params) {
|
||||||
|
ALOGE("parameter memory allocation fail");
|
||||||
|
rv = -ENOMEM;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
memset(fixed_set_params, 0, sizeof(char *) * num_cameras);
|
||||||
|
|
||||||
|
if(cameraid > num_cameras)
|
||||||
|
{
|
||||||
|
ALOGE("camera service provided cameraid out of bounds, "
|
||||||
|
"cameraid = %d, num supported = %d",
|
||||||
|
cameraid, num_cameras);
|
||||||
|
rv = -EINVAL;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
camera_device = (wrapper_camera_device_t*)malloc(sizeof(*camera_device));
|
||||||
|
if(!camera_device)
|
||||||
|
{
|
||||||
|
ALOGE("camera_device allocation fail");
|
||||||
|
rv = -ENOMEM;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
memset(camera_device, 0, sizeof(*camera_device));
|
||||||
|
camera_device->id = cameraid;
|
||||||
|
|
||||||
|
if(rv = gVendorModule->common.methods->open((const hw_module_t*)gVendorModule, name, (hw_device_t**)&(camera_device->vendor)))
|
||||||
|
{
|
||||||
|
ALOGE("vendor camera open fail");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
ALOGI("%s: got vendor camera device 0x%08X", __FUNCTION__, (uintptr_t)(camera_device->vendor));
|
||||||
|
|
||||||
|
camera_ops = (camera_device_ops_t*)malloc(sizeof(*camera_ops));
|
||||||
|
if(!camera_ops)
|
||||||
|
{
|
||||||
|
ALOGE("camera_ops allocation fail");
|
||||||
|
rv = -ENOMEM;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
memset(camera_ops, 0, sizeof(*camera_ops));
|
||||||
|
|
||||||
|
camera_device->base.common.tag = HARDWARE_DEVICE_TAG;
|
||||||
|
camera_device->base.common.version = 0;
|
||||||
|
camera_device->base.common.module = (hw_module_t *)(module);
|
||||||
|
camera_device->base.common.close = camera_device_close;
|
||||||
|
camera_device->base.ops = camera_ops;
|
||||||
|
|
||||||
|
camera_ops->set_preview_window = camera_set_preview_window;
|
||||||
|
camera_ops->set_callbacks = camera_set_callbacks;
|
||||||
|
camera_ops->enable_msg_type = camera_enable_msg_type;
|
||||||
|
camera_ops->disable_msg_type = camera_disable_msg_type;
|
||||||
|
camera_ops->msg_type_enabled = camera_msg_type_enabled;
|
||||||
|
camera_ops->start_preview = camera_start_preview;
|
||||||
|
camera_ops->stop_preview = camera_stop_preview;
|
||||||
|
camera_ops->preview_enabled = camera_preview_enabled;
|
||||||
|
camera_ops->store_meta_data_in_buffers = camera_store_meta_data_in_buffers;
|
||||||
|
camera_ops->start_recording = camera_start_recording;
|
||||||
|
camera_ops->stop_recording = camera_stop_recording;
|
||||||
|
camera_ops->recording_enabled = camera_recording_enabled;
|
||||||
|
camera_ops->release_recording_frame = camera_release_recording_frame;
|
||||||
|
camera_ops->auto_focus = camera_auto_focus;
|
||||||
|
camera_ops->cancel_auto_focus = camera_cancel_auto_focus;
|
||||||
|
camera_ops->take_picture = camera_take_picture;
|
||||||
|
camera_ops->cancel_picture = camera_cancel_picture;
|
||||||
|
camera_ops->set_parameters = camera_set_parameters;
|
||||||
|
camera_ops->get_parameters = camera_get_parameters;
|
||||||
|
camera_ops->put_parameters = camera_put_parameters;
|
||||||
|
camera_ops->send_command = camera_send_command;
|
||||||
|
camera_ops->release = camera_release;
|
||||||
|
camera_ops->dump = camera_dump;
|
||||||
|
|
||||||
|
*device = &camera_device->base.common;
|
||||||
|
}
|
||||||
|
|
||||||
|
return rv;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
if(camera_device) {
|
||||||
|
free(camera_device);
|
||||||
|
camera_device = NULL;
|
||||||
|
}
|
||||||
|
if(camera_ops) {
|
||||||
|
free(camera_ops);
|
||||||
|
camera_ops = NULL;
|
||||||
|
}
|
||||||
|
*device = NULL;
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_get_number_of_cameras(void)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
if (check_vendor_module())
|
||||||
|
return 0;
|
||||||
|
return gVendorModule->get_number_of_cameras();
|
||||||
|
}
|
||||||
|
|
||||||
|
int camera_get_camera_info(int camera_id, struct camera_info *info)
|
||||||
|
{
|
||||||
|
ALOGI("%s", __FUNCTION__);
|
||||||
|
if (check_vendor_module())
|
||||||
|
return 0;
|
||||||
|
return gVendorModule->get_camera_info(camera_id, info);
|
||||||
|
}
|
672
keychars/Generic.kcm
Normal file
672
keychars/Generic.kcm
Normal file
@ -0,0 +1,672 @@
|
|||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generic key character map for full alphabetic US English PC style external keyboards.
|
||||||
|
#
|
||||||
|
# This file is intentionally very generic and is intended to support a broad rang of keyboards.
|
||||||
|
# Do not edit the generic key character map to support a specific keyboard; instead, create
|
||||||
|
# a new key character map file with the required keyboard configuration.
|
||||||
|
#
|
||||||
|
|
||||||
|
type FULL
|
||||||
|
|
||||||
|
### Basic QWERTY keys ###
|
||||||
|
|
||||||
|
key A {
|
||||||
|
label: 'A'
|
||||||
|
base: 'a'
|
||||||
|
shift, capslock: 'A'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key B {
|
||||||
|
label: 'B'
|
||||||
|
base: 'b'
|
||||||
|
shift, capslock: 'B'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key C {
|
||||||
|
label: 'C'
|
||||||
|
base: 'c'
|
||||||
|
shift, capslock: 'C'
|
||||||
|
alt: '\u00e7'
|
||||||
|
shift+alt: '\u00c7'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key D {
|
||||||
|
label: 'D'
|
||||||
|
base: 'd'
|
||||||
|
shift, capslock: 'D'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key E {
|
||||||
|
label: 'E'
|
||||||
|
base: 'e'
|
||||||
|
shift, capslock: 'E'
|
||||||
|
alt: '\u0301'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key F {
|
||||||
|
label: 'F'
|
||||||
|
base: 'f'
|
||||||
|
shift, capslock: 'F'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key G {
|
||||||
|
label: 'G'
|
||||||
|
base: 'g'
|
||||||
|
shift, capslock: 'G'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key H {
|
||||||
|
label: 'H'
|
||||||
|
base: 'h'
|
||||||
|
shift, capslock: 'H'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key I {
|
||||||
|
label: 'I'
|
||||||
|
base: 'i'
|
||||||
|
shift, capslock: 'I'
|
||||||
|
alt: '\u0302'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key J {
|
||||||
|
label: 'J'
|
||||||
|
base: 'j'
|
||||||
|
shift, capslock: 'J'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key K {
|
||||||
|
label: 'K'
|
||||||
|
base: 'k'
|
||||||
|
shift, capslock: 'K'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key L {
|
||||||
|
label: 'L'
|
||||||
|
base: 'l'
|
||||||
|
shift, capslock: 'L'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key M {
|
||||||
|
label: 'M'
|
||||||
|
base: 'm'
|
||||||
|
shift, capslock: 'M'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key N {
|
||||||
|
label: 'N'
|
||||||
|
base: 'n'
|
||||||
|
shift, capslock: 'N'
|
||||||
|
alt: '\u0303'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key O {
|
||||||
|
label: 'O'
|
||||||
|
base: 'o'
|
||||||
|
shift, capslock: 'O'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key P {
|
||||||
|
label: 'P'
|
||||||
|
base: 'p'
|
||||||
|
shift, capslock: 'P'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key Q {
|
||||||
|
label: 'Q'
|
||||||
|
base: 'q'
|
||||||
|
shift, capslock: 'Q'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key R {
|
||||||
|
label: 'R'
|
||||||
|
base: 'r'
|
||||||
|
shift, capslock: 'R'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key S {
|
||||||
|
label: 'S'
|
||||||
|
base: 's'
|
||||||
|
shift, capslock: 'S'
|
||||||
|
alt: '\u00df'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key T {
|
||||||
|
label: 'T'
|
||||||
|
base: 't'
|
||||||
|
shift, capslock: 'T'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key U {
|
||||||
|
label: 'U'
|
||||||
|
base: 'u'
|
||||||
|
shift, capslock: 'U'
|
||||||
|
alt: '\u0308'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key V {
|
||||||
|
label: 'V'
|
||||||
|
base: 'v'
|
||||||
|
shift, capslock: 'V'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key W {
|
||||||
|
label: 'W'
|
||||||
|
base: 'w'
|
||||||
|
shift, capslock: 'W'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key X {
|
||||||
|
label: 'X'
|
||||||
|
base: 'x'
|
||||||
|
shift, capslock: 'X'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key Y {
|
||||||
|
label: 'Y'
|
||||||
|
base: 'y'
|
||||||
|
shift, capslock: 'Y'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key Z {
|
||||||
|
label: 'Z'
|
||||||
|
base: 'z'
|
||||||
|
shift, capslock: 'Z'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 0 {
|
||||||
|
label, number: '0'
|
||||||
|
base: '0'
|
||||||
|
shift: ')'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 1 {
|
||||||
|
label, number: '1'
|
||||||
|
base: '1'
|
||||||
|
shift: '!'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 2 {
|
||||||
|
label, number: '2'
|
||||||
|
base: '2'
|
||||||
|
shift: '@'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 3 {
|
||||||
|
label, number: '3'
|
||||||
|
base: '3'
|
||||||
|
shift: '#'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 4 {
|
||||||
|
label, number: '4'
|
||||||
|
base: '4'
|
||||||
|
shift: '$'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 5 {
|
||||||
|
label, number: '5'
|
||||||
|
base: '5'
|
||||||
|
shift: '%'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 6 {
|
||||||
|
label, number: '6'
|
||||||
|
base: '6'
|
||||||
|
shift: '^'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
alt+shift: '\u0302'
|
||||||
|
}
|
||||||
|
|
||||||
|
key 7 {
|
||||||
|
label, number: '7'
|
||||||
|
base: '7'
|
||||||
|
shift: '&'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 8 {
|
||||||
|
label, number: '8'
|
||||||
|
base: '8'
|
||||||
|
shift: '*'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 9 {
|
||||||
|
label, number: '9'
|
||||||
|
base: '9'
|
||||||
|
shift: '('
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key SPACE {
|
||||||
|
label: ' '
|
||||||
|
base: ' '
|
||||||
|
ctrl: none
|
||||||
|
alt, meta: fallback SEARCH
|
||||||
|
}
|
||||||
|
|
||||||
|
key ENTER {
|
||||||
|
label: '\n'
|
||||||
|
base: '\n'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key TAB {
|
||||||
|
label: '\t'
|
||||||
|
base: '\t'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key COMMA {
|
||||||
|
label, number: ','
|
||||||
|
base: ','
|
||||||
|
shift: '<'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key PERIOD {
|
||||||
|
label, number: '.'
|
||||||
|
base: '.'
|
||||||
|
shift: '>'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key SLASH {
|
||||||
|
label, number: '/'
|
||||||
|
base: '/'
|
||||||
|
shift: '?'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key GRAVE {
|
||||||
|
label, number: '`'
|
||||||
|
base: '`'
|
||||||
|
shift: '~'
|
||||||
|
alt: '\u0300'
|
||||||
|
alt+shift: '\u0303'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key MINUS {
|
||||||
|
label, number: '-'
|
||||||
|
base: '-'
|
||||||
|
shift: '_'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key EQUALS {
|
||||||
|
label, number: '='
|
||||||
|
base: '='
|
||||||
|
shift: '+'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key LEFT_BRACKET {
|
||||||
|
label, number: '['
|
||||||
|
base: '['
|
||||||
|
shift: '{'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key RIGHT_BRACKET {
|
||||||
|
label, number: ']'
|
||||||
|
base: ']'
|
||||||
|
shift: '}'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key BACKSLASH {
|
||||||
|
label, number: '\\'
|
||||||
|
base: '\\'
|
||||||
|
shift: '|'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key SEMICOLON {
|
||||||
|
label, number: ';'
|
||||||
|
base: ';'
|
||||||
|
shift: ':'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key APOSTROPHE {
|
||||||
|
label, number: '\''
|
||||||
|
base: '\''
|
||||||
|
shift: '"'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
### Numeric keypad ###
|
||||||
|
|
||||||
|
key NUMPAD_0 {
|
||||||
|
label, number: '0'
|
||||||
|
base: fallback INSERT
|
||||||
|
numlock: '0'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_1 {
|
||||||
|
label, number: '1'
|
||||||
|
base: fallback MOVE_END
|
||||||
|
numlock: '1'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_2 {
|
||||||
|
label, number: '2'
|
||||||
|
base: fallback DPAD_DOWN
|
||||||
|
numlock: '2'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_3 {
|
||||||
|
label, number: '3'
|
||||||
|
base: fallback PAGE_DOWN
|
||||||
|
numlock: '3'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_4 {
|
||||||
|
label, number: '4'
|
||||||
|
base: fallback DPAD_LEFT
|
||||||
|
numlock: '4'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_5 {
|
||||||
|
label, number: '5'
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
numlock: '5'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_6 {
|
||||||
|
label, number: '6'
|
||||||
|
base: fallback DPAD_RIGHT
|
||||||
|
numlock: '6'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_7 {
|
||||||
|
label, number: '7'
|
||||||
|
base: fallback MOVE_HOME
|
||||||
|
numlock: '7'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_8 {
|
||||||
|
label, number: '8'
|
||||||
|
base: fallback DPAD_UP
|
||||||
|
numlock: '8'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_9 {
|
||||||
|
label, number: '9'
|
||||||
|
base: fallback PAGE_UP
|
||||||
|
numlock: '9'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_LEFT_PAREN {
|
||||||
|
label, number: '('
|
||||||
|
base: '('
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_RIGHT_PAREN {
|
||||||
|
label, number: ')'
|
||||||
|
base: ')'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_DIVIDE {
|
||||||
|
label, number: '/'
|
||||||
|
base: '/'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_MULTIPLY {
|
||||||
|
label, number: '*'
|
||||||
|
base: '*'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_SUBTRACT {
|
||||||
|
label, number: '-'
|
||||||
|
base: '-'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_ADD {
|
||||||
|
label, number: '+'
|
||||||
|
base: '+'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_DOT {
|
||||||
|
label, number: '.'
|
||||||
|
base: fallback FORWARD_DEL
|
||||||
|
numlock: '.'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_COMMA {
|
||||||
|
label, number: ','
|
||||||
|
base: ','
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_EQUALS {
|
||||||
|
label, number: '='
|
||||||
|
base: '='
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_ENTER {
|
||||||
|
label: '\n'
|
||||||
|
base: '\n' fallback ENTER
|
||||||
|
ctrl, alt, meta: none fallback ENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
### Special keys on phones ###
|
||||||
|
|
||||||
|
key AT {
|
||||||
|
label, number: '@'
|
||||||
|
base: '@'
|
||||||
|
}
|
||||||
|
|
||||||
|
key STAR {
|
||||||
|
label, number: '*'
|
||||||
|
base: '*'
|
||||||
|
}
|
||||||
|
|
||||||
|
key POUND {
|
||||||
|
label, number: '#'
|
||||||
|
base: '#'
|
||||||
|
}
|
||||||
|
|
||||||
|
key PLUS {
|
||||||
|
label, number: '+'
|
||||||
|
base: '+'
|
||||||
|
}
|
||||||
|
|
||||||
|
### Non-printing keys ###
|
||||||
|
|
||||||
|
key ESCAPE {
|
||||||
|
base: fallback BACK
|
||||||
|
alt, meta: fallback HOME
|
||||||
|
ctrl: fallback MENU
|
||||||
|
}
|
||||||
|
|
||||||
|
### Gamepad buttons ###
|
||||||
|
|
||||||
|
key BUTTON_A {
|
||||||
|
base: fallback BACK
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_B {
|
||||||
|
base: fallback BACK
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_C {
|
||||||
|
base: fallback BACK
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_X {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_Y {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_Z {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_L1 {
|
||||||
|
base: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_R1 {
|
||||||
|
base: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_L2 {
|
||||||
|
base: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_R2 {
|
||||||
|
base: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_THUMBL {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_THUMBR {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_START {
|
||||||
|
base: fallback HOME
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_SELECT {
|
||||||
|
base: fallback MENU
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_MODE {
|
||||||
|
base: fallback MENU
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_1 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_2 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_3 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_4 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_5 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_6 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_7 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_8 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_9 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_10 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_11 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_12 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_13 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_14 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_15 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
key BUTTON_16 {
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
}
|
544
keychars/Virtual.kcm
Normal file
544
keychars/Virtual.kcm
Normal file
@ -0,0 +1,544 @@
|
|||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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 character map for a built-in generic virtual keyboard primarily used
|
||||||
|
# for instrumentation and testing purposes.
|
||||||
|
#
|
||||||
|
|
||||||
|
type FULL
|
||||||
|
|
||||||
|
### Basic QWERTY keys ###
|
||||||
|
|
||||||
|
key A {
|
||||||
|
label: 'A'
|
||||||
|
base: 'a'
|
||||||
|
shift, capslock: 'A'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key B {
|
||||||
|
label: 'B'
|
||||||
|
base: 'b'
|
||||||
|
shift, capslock: 'B'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key C {
|
||||||
|
label: 'C'
|
||||||
|
base: 'c'
|
||||||
|
shift, capslock: 'C'
|
||||||
|
alt: '\u00e7'
|
||||||
|
shift+alt: '\u00c7'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key D {
|
||||||
|
label: 'D'
|
||||||
|
base: 'd'
|
||||||
|
shift, capslock: 'D'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key E {
|
||||||
|
label: 'E'
|
||||||
|
base: 'e'
|
||||||
|
shift, capslock: 'E'
|
||||||
|
alt: '\u0301'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key F {
|
||||||
|
label: 'F'
|
||||||
|
base: 'f'
|
||||||
|
shift, capslock: 'F'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key G {
|
||||||
|
label: 'G'
|
||||||
|
base: 'g'
|
||||||
|
shift, capslock: 'G'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key H {
|
||||||
|
label: 'H'
|
||||||
|
base: 'h'
|
||||||
|
shift, capslock: 'H'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key I {
|
||||||
|
label: 'I'
|
||||||
|
base: 'i'
|
||||||
|
shift, capslock: 'I'
|
||||||
|
alt: '\u0302'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key J {
|
||||||
|
label: 'J'
|
||||||
|
base: 'j'
|
||||||
|
shift, capslock: 'J'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key K {
|
||||||
|
label: 'K'
|
||||||
|
base: 'k'
|
||||||
|
shift, capslock: 'K'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key L {
|
||||||
|
label: 'L'
|
||||||
|
base: 'l'
|
||||||
|
shift, capslock: 'L'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key M {
|
||||||
|
label: 'M'
|
||||||
|
base: 'm'
|
||||||
|
shift, capslock: 'M'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key N {
|
||||||
|
label: 'N'
|
||||||
|
base: 'n'
|
||||||
|
shift, capslock: 'N'
|
||||||
|
alt: '\u0303'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key O {
|
||||||
|
label: 'O'
|
||||||
|
base: 'o'
|
||||||
|
shift, capslock: 'O'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key P {
|
||||||
|
label: 'P'
|
||||||
|
base: 'p'
|
||||||
|
shift, capslock: 'P'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key Q {
|
||||||
|
label: 'Q'
|
||||||
|
base: 'q'
|
||||||
|
shift, capslock: 'Q'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key R {
|
||||||
|
label: 'R'
|
||||||
|
base: 'r'
|
||||||
|
shift, capslock: 'R'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key S {
|
||||||
|
label: 'S'
|
||||||
|
base: 's'
|
||||||
|
shift, capslock: 'S'
|
||||||
|
alt: '\u00df'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key T {
|
||||||
|
label: 'T'
|
||||||
|
base: 't'
|
||||||
|
shift, capslock: 'T'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key U {
|
||||||
|
label: 'U'
|
||||||
|
base: 'u'
|
||||||
|
shift, capslock: 'U'
|
||||||
|
alt: '\u0308'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key V {
|
||||||
|
label: 'V'
|
||||||
|
base: 'v'
|
||||||
|
shift, capslock: 'V'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key W {
|
||||||
|
label: 'W'
|
||||||
|
base: 'w'
|
||||||
|
shift, capslock: 'W'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key X {
|
||||||
|
label: 'X'
|
||||||
|
base: 'x'
|
||||||
|
shift, capslock: 'X'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key Y {
|
||||||
|
label: 'Y'
|
||||||
|
base: 'y'
|
||||||
|
shift, capslock: 'Y'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key Z {
|
||||||
|
label: 'Z'
|
||||||
|
base: 'z'
|
||||||
|
shift, capslock: 'Z'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 0 {
|
||||||
|
label, number: '0'
|
||||||
|
base: '0'
|
||||||
|
shift: ')'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 1 {
|
||||||
|
label, number: '1'
|
||||||
|
base: '1'
|
||||||
|
shift: '!'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 2 {
|
||||||
|
label, number: '2'
|
||||||
|
base: '2'
|
||||||
|
shift: '@'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 3 {
|
||||||
|
label, number: '3'
|
||||||
|
base: '3'
|
||||||
|
shift: '#'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 4 {
|
||||||
|
label, number: '4'
|
||||||
|
base: '4'
|
||||||
|
shift: '$'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 5 {
|
||||||
|
label, number: '5'
|
||||||
|
base: '5'
|
||||||
|
shift: '%'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 6 {
|
||||||
|
label, number: '6'
|
||||||
|
base: '6'
|
||||||
|
shift: '^'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
alt+shift: '\u0302'
|
||||||
|
}
|
||||||
|
|
||||||
|
key 7 {
|
||||||
|
label, number: '7'
|
||||||
|
base: '7'
|
||||||
|
shift: '&'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 8 {
|
||||||
|
label, number: '8'
|
||||||
|
base: '8'
|
||||||
|
shift: '*'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key 9 {
|
||||||
|
label, number: '9'
|
||||||
|
base: '9'
|
||||||
|
shift: '('
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key SPACE {
|
||||||
|
label: ' '
|
||||||
|
base: ' '
|
||||||
|
ctrl, alt: none
|
||||||
|
meta: fallback SEARCH
|
||||||
|
}
|
||||||
|
|
||||||
|
key ENTER {
|
||||||
|
label: '\n'
|
||||||
|
base: '\n'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key TAB {
|
||||||
|
label: '\t'
|
||||||
|
base: '\t'
|
||||||
|
ctrl, alt: none
|
||||||
|
meta: fallback APP_SWITCH
|
||||||
|
}
|
||||||
|
|
||||||
|
key COMMA {
|
||||||
|
label, number: ','
|
||||||
|
base: ','
|
||||||
|
shift: '<'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key PERIOD {
|
||||||
|
label, number: '.'
|
||||||
|
base: '.'
|
||||||
|
shift: '>'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key SLASH {
|
||||||
|
label, number: '/'
|
||||||
|
base: '/'
|
||||||
|
shift: '?'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key GRAVE {
|
||||||
|
label, number: '`'
|
||||||
|
base: '`'
|
||||||
|
shift: '~'
|
||||||
|
alt: '\u0300'
|
||||||
|
alt+shift: '\u0303'
|
||||||
|
ctrl, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key MINUS {
|
||||||
|
label, number: '-'
|
||||||
|
base: '-'
|
||||||
|
shift: '_'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key EQUALS {
|
||||||
|
label, number: '='
|
||||||
|
base: '='
|
||||||
|
shift: '+'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key LEFT_BRACKET {
|
||||||
|
label, number: '['
|
||||||
|
base: '['
|
||||||
|
shift: '{'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key RIGHT_BRACKET {
|
||||||
|
label, number: ']'
|
||||||
|
base: ']'
|
||||||
|
shift: '}'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key BACKSLASH {
|
||||||
|
label, number: '\\'
|
||||||
|
base: '\\'
|
||||||
|
shift: '|'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key SEMICOLON {
|
||||||
|
label, number: ';'
|
||||||
|
base: ';'
|
||||||
|
shift: ':'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key APOSTROPHE {
|
||||||
|
label, number: '\''
|
||||||
|
base: '\''
|
||||||
|
shift: '"'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
### Numeric keypad ###
|
||||||
|
|
||||||
|
key NUMPAD_0 {
|
||||||
|
label, number: '0'
|
||||||
|
base: fallback INSERT
|
||||||
|
numlock: '0'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_1 {
|
||||||
|
label, number: '1'
|
||||||
|
base: fallback MOVE_END
|
||||||
|
numlock: '1'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_2 {
|
||||||
|
label, number: '2'
|
||||||
|
base: fallback DPAD_DOWN
|
||||||
|
numlock: '2'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_3 {
|
||||||
|
label, number: '3'
|
||||||
|
base: fallback PAGE_DOWN
|
||||||
|
numlock: '3'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_4 {
|
||||||
|
label, number: '4'
|
||||||
|
base: fallback DPAD_LEFT
|
||||||
|
numlock: '4'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_5 {
|
||||||
|
label, number: '5'
|
||||||
|
base: fallback DPAD_CENTER
|
||||||
|
numlock: '5'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_6 {
|
||||||
|
label, number: '6'
|
||||||
|
base: fallback DPAD_RIGHT
|
||||||
|
numlock: '6'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_7 {
|
||||||
|
label, number: '7'
|
||||||
|
base: fallback MOVE_HOME
|
||||||
|
numlock: '7'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_8 {
|
||||||
|
label, number: '8'
|
||||||
|
base: fallback DPAD_UP
|
||||||
|
numlock: '8'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_9 {
|
||||||
|
label, number: '9'
|
||||||
|
base: fallback PAGE_UP
|
||||||
|
numlock: '9'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_LEFT_PAREN {
|
||||||
|
label, number: '('
|
||||||
|
base: '('
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_RIGHT_PAREN {
|
||||||
|
label, number: ')'
|
||||||
|
base: ')'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_DIVIDE {
|
||||||
|
label, number: '/'
|
||||||
|
base: '/'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_MULTIPLY {
|
||||||
|
label, number: '*'
|
||||||
|
base: '*'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_SUBTRACT {
|
||||||
|
label, number: '-'
|
||||||
|
base: '-'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_ADD {
|
||||||
|
label, number: '+'
|
||||||
|
base: '+'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_DOT {
|
||||||
|
label, number: '.'
|
||||||
|
base: fallback FORWARD_DEL
|
||||||
|
numlock: '.'
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_COMMA {
|
||||||
|
label, number: ','
|
||||||
|
base: ','
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_EQUALS {
|
||||||
|
label, number: '='
|
||||||
|
base: '='
|
||||||
|
ctrl, alt, meta: none
|
||||||
|
}
|
||||||
|
|
||||||
|
key NUMPAD_ENTER {
|
||||||
|
label: '\n'
|
||||||
|
base: '\n' fallback ENTER
|
||||||
|
ctrl, alt, meta: none fallback ENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
### Special keys on phones ###
|
||||||
|
|
||||||
|
key AT {
|
||||||
|
label, number: '@'
|
||||||
|
base: '@'
|
||||||
|
}
|
||||||
|
|
||||||
|
key STAR {
|
||||||
|
label, number: '*'
|
||||||
|
base: '*'
|
||||||
|
}
|
||||||
|
|
||||||
|
key POUND {
|
||||||
|
label, number: '#'
|
||||||
|
base: '#'
|
||||||
|
}
|
||||||
|
|
||||||
|
key PLUS {
|
||||||
|
label, number: '+'
|
||||||
|
base: '+'
|
||||||
|
}
|
||||||
|
|
||||||
|
### Non-printing keys ###
|
||||||
|
|
||||||
|
key ESCAPE {
|
||||||
|
base: fallback BACK
|
||||||
|
meta: fallback HOME
|
||||||
|
alt: fallback MENU
|
||||||
|
}
|
23
keylayout/AVRCP.kl
Normal file
23
keylayout/AVRCP.kl
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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 layout used for Bluetooth AVRCP support.
|
||||||
|
|
||||||
|
key 200 MEDIA_PLAY WAKE
|
||||||
|
key 201 MEDIA_PAUSE WAKE
|
||||||
|
key 166 MEDIA_STOP WAKE
|
||||||
|
key 163 MEDIA_NEXT WAKE
|
||||||
|
key 165 MEDIA_PREVIOUS WAKE
|
||||||
|
key 168 MEDIA_REWIND WAKE
|
||||||
|
key 208 MEDIA_FAST_FORWARD WAKE
|
423
keylayout/Generic.kl
Normal file
423
keylayout/Generic.kl
Normal file
@ -0,0 +1,423 @@
|
|||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generic key layout file for full alphabetic US English PC style external keyboards.
|
||||||
|
#
|
||||||
|
# This file is intentionally very generic and is intended to support a broad rang of keyboards.
|
||||||
|
# Do not edit the generic key layout to support a specific keyboard; instead, create
|
||||||
|
# a new key layout file with the required keyboard configuration.
|
||||||
|
#
|
||||||
|
|
||||||
|
key 1 ESCAPE
|
||||||
|
key 2 1
|
||||||
|
key 3 2
|
||||||
|
key 4 3
|
||||||
|
key 5 4
|
||||||
|
key 6 5
|
||||||
|
key 7 6
|
||||||
|
key 8 7
|
||||||
|
key 9 8
|
||||||
|
key 10 9
|
||||||
|
key 11 0
|
||||||
|
key 12 MINUS
|
||||||
|
key 13 EQUALS
|
||||||
|
key 14 DEL
|
||||||
|
key 15 TAB
|
||||||
|
key 16 Q
|
||||||
|
key 17 W
|
||||||
|
key 18 E
|
||||||
|
key 19 R
|
||||||
|
key 20 T
|
||||||
|
key 21 Y
|
||||||
|
key 22 U
|
||||||
|
key 23 I
|
||||||
|
key 24 O
|
||||||
|
key 25 P
|
||||||
|
key 26 LEFT_BRACKET
|
||||||
|
key 27 RIGHT_BRACKET
|
||||||
|
key 28 ENTER
|
||||||
|
key 29 CTRL_LEFT
|
||||||
|
key 30 A
|
||||||
|
key 31 S
|
||||||
|
key 32 D
|
||||||
|
key 33 F
|
||||||
|
key 34 G
|
||||||
|
key 35 H
|
||||||
|
key 36 J
|
||||||
|
key 37 K
|
||||||
|
key 38 L
|
||||||
|
key 39 SEMICOLON
|
||||||
|
key 40 APOSTROPHE
|
||||||
|
key 41 GRAVE
|
||||||
|
key 42 SHIFT_LEFT
|
||||||
|
key 43 BACKSLASH
|
||||||
|
key 44 Z
|
||||||
|
key 45 X
|
||||||
|
key 46 C
|
||||||
|
key 47 V
|
||||||
|
key 48 B
|
||||||
|
key 49 N
|
||||||
|
key 50 M
|
||||||
|
key 51 COMMA
|
||||||
|
key 52 PERIOD
|
||||||
|
key 53 SLASH
|
||||||
|
key 54 SHIFT_RIGHT
|
||||||
|
key 55 NUMPAD_MULTIPLY
|
||||||
|
key 56 ALT_LEFT
|
||||||
|
key 57 SPACE
|
||||||
|
key 58 CAPS_LOCK
|
||||||
|
key 59 F1
|
||||||
|
key 60 F2
|
||||||
|
key 61 F3
|
||||||
|
key 62 F4
|
||||||
|
key 63 F5
|
||||||
|
key 64 F6
|
||||||
|
key 65 F7
|
||||||
|
key 66 F8
|
||||||
|
key 67 F9
|
||||||
|
key 68 F10
|
||||||
|
key 69 NUM_LOCK
|
||||||
|
key 70 SCROLL_LOCK
|
||||||
|
key 71 NUMPAD_7
|
||||||
|
key 72 NUMPAD_8
|
||||||
|
key 73 NUMPAD_9
|
||||||
|
key 74 NUMPAD_SUBTRACT
|
||||||
|
key 75 NUMPAD_4
|
||||||
|
key 76 NUMPAD_5
|
||||||
|
key 77 NUMPAD_6
|
||||||
|
key 78 NUMPAD_ADD
|
||||||
|
key 79 NUMPAD_1
|
||||||
|
key 80 NUMPAD_2
|
||||||
|
key 81 NUMPAD_3
|
||||||
|
key 82 NUMPAD_0
|
||||||
|
key 83 NUMPAD_DOT
|
||||||
|
# key 84 (undefined)
|
||||||
|
# key 85 "KEY_ZENKAKUHANKAKU"
|
||||||
|
key 86 BACKSLASH
|
||||||
|
key 87 F11
|
||||||
|
key 88 F12
|
||||||
|
# key 89 "KEY_RO"
|
||||||
|
# key 90 "KEY_KATAKANA"
|
||||||
|
# key 91 "KEY_HIRAGANA"
|
||||||
|
# key 92 "KEY_HENKAN"
|
||||||
|
# key 93 "KEY_KATAKANAHIRAGANA"
|
||||||
|
# key 94 "KEY_MUHENKAN"
|
||||||
|
key 95 NUMPAD_COMMA
|
||||||
|
key 96 NUMPAD_ENTER
|
||||||
|
key 97 CTRL_RIGHT
|
||||||
|
key 98 NUMPAD_DIVIDE
|
||||||
|
key 99 SYSRQ
|
||||||
|
key 100 ALT_RIGHT
|
||||||
|
# key 101 "KEY_LINEFEED"
|
||||||
|
key 102 MOVE_HOME
|
||||||
|
key 103 DPAD_UP
|
||||||
|
key 104 PAGE_UP
|
||||||
|
key 105 DPAD_LEFT
|
||||||
|
key 106 DPAD_RIGHT
|
||||||
|
key 107 MOVE_END
|
||||||
|
key 108 DPAD_DOWN
|
||||||
|
key 109 PAGE_DOWN
|
||||||
|
key 110 INSERT
|
||||||
|
key 111 FORWARD_DEL
|
||||||
|
# key 112 "KEY_MACRO"
|
||||||
|
key 113 VOLUME_MUTE
|
||||||
|
key 114 VOLUME_DOWN
|
||||||
|
key 115 VOLUME_UP
|
||||||
|
key 116 POWER WAKE
|
||||||
|
key 117 NUMPAD_EQUALS
|
||||||
|
# key 118 "KEY_KPPLUSMINUS"
|
||||||
|
key 119 BREAK
|
||||||
|
# key 120 (undefined)
|
||||||
|
key 121 NUMPAD_COMMA
|
||||||
|
key 122 LANG
|
||||||
|
# key 122 "KEY_HANGEUL"
|
||||||
|
# key 123 "KEY_HANJA"
|
||||||
|
# key 124 "KEY_YEN"
|
||||||
|
key 125 META_LEFT
|
||||||
|
key 126 META_RIGHT
|
||||||
|
key 127 MENU WAKE_DROPPED
|
||||||
|
key 128 MEDIA_STOP
|
||||||
|
# key 129 "KEY_AGAIN"
|
||||||
|
# key 130 "KEY_PROPS"
|
||||||
|
# key 131 "KEY_UNDO"
|
||||||
|
# key 132 "KEY_FRONT"
|
||||||
|
# key 133 "KEY_COPY"
|
||||||
|
# key 134 "KEY_OPEN"
|
||||||
|
# key 135 "KEY_PASTE"
|
||||||
|
# key 136 "KEY_FIND"
|
||||||
|
# key 137 "KEY_CUT"
|
||||||
|
# key 138 "KEY_HELP"
|
||||||
|
key 139 MENU WAKE_DROPPED
|
||||||
|
key 140 CALCULATOR
|
||||||
|
# key 141 "KEY_SETUP"
|
||||||
|
key 142 POWER WAKE
|
||||||
|
key 143 POWER WAKE
|
||||||
|
# key 144 "KEY_FILE"
|
||||||
|
# key 145 "KEY_SENDFILE"
|
||||||
|
# key 146 "KEY_DELETEFILE"
|
||||||
|
# key 147 "KEY_XFER"
|
||||||
|
# key 148 "KEY_PROG1"
|
||||||
|
# key 149 "KEY_PROG2"
|
||||||
|
key 150 EXPLORER
|
||||||
|
# key 151 "KEY_MSDOS"
|
||||||
|
key 152 POWER WAKE
|
||||||
|
# key 153 "KEY_DIRECTION"
|
||||||
|
# key 154 "KEY_CYCLEWINDOWS"
|
||||||
|
key 155 ENVELOPE
|
||||||
|
key 156 BOOKMARK
|
||||||
|
# key 157 "KEY_COMPUTER"
|
||||||
|
key 158 BACK WAKE_DROPPED
|
||||||
|
key 159 FORWARD
|
||||||
|
key 160 MEDIA_CLOSE
|
||||||
|
key 161 MEDIA_EJECT
|
||||||
|
key 162 MEDIA_EJECT
|
||||||
|
key 163 MEDIA_NEXT
|
||||||
|
key 164 MEDIA_PLAY_PAUSE
|
||||||
|
key 165 MEDIA_PREVIOUS
|
||||||
|
key 166 MEDIA_STOP
|
||||||
|
key 167 MEDIA_RECORD
|
||||||
|
key 168 MEDIA_REWIND
|
||||||
|
key 169 CALL
|
||||||
|
# key 170 "KEY_ISO"
|
||||||
|
key 171 MUSIC
|
||||||
|
key 172 HOME
|
||||||
|
# key 173 "KEY_REFRESH"
|
||||||
|
# key 174 "KEY_EXIT"
|
||||||
|
# key 175 "KEY_MOVE"
|
||||||
|
# key 176 "KEY_EDIT"
|
||||||
|
key 177 PAGE_UP
|
||||||
|
key 178 PAGE_DOWN
|
||||||
|
key 179 NUMPAD_LEFT_PAREN
|
||||||
|
key 180 NUMPAD_RIGHT_PAREN
|
||||||
|
# key 181 "KEY_NEW"
|
||||||
|
# key 182 "KEY_REDO"
|
||||||
|
# key 183 F13
|
||||||
|
# key 184 F14
|
||||||
|
# key 185 F15
|
||||||
|
# key 186 F16
|
||||||
|
# key 187 F17
|
||||||
|
# key 188 F18
|
||||||
|
# key 189 F19
|
||||||
|
# key 190 F20
|
||||||
|
# key 191 F21
|
||||||
|
# key 192 F22
|
||||||
|
# key 193 F23
|
||||||
|
# key 194 F24
|
||||||
|
# key 195 (undefined)
|
||||||
|
# key 196 (undefined)
|
||||||
|
# key 197 (undefined)
|
||||||
|
# key 198 (undefined)
|
||||||
|
# key 199 (undefined)
|
||||||
|
key 200 MEDIA_PLAY
|
||||||
|
key 201 MEDIA_PAUSE
|
||||||
|
# key 202 "KEY_PROG3"
|
||||||
|
# key 203 "KEY_PROG4"
|
||||||
|
# key 204 (undefined)
|
||||||
|
# key 205 "KEY_SUSPEND"
|
||||||
|
# key 206 "KEY_CLOSE"
|
||||||
|
key 207 MEDIA_PLAY
|
||||||
|
key 208 MEDIA_FAST_FORWARD
|
||||||
|
# key 209 "KEY_BASSBOOST"
|
||||||
|
# key 210 "KEY_PRINT"
|
||||||
|
# key 211 "KEY_HP"
|
||||||
|
key 212 CAMERA
|
||||||
|
key 213 MUSIC
|
||||||
|
# key 214 "KEY_QUESTION"
|
||||||
|
key 215 ENVELOPE
|
||||||
|
# key 216 "KEY_CHAT"
|
||||||
|
key 217 SEARCH
|
||||||
|
# key 218 "KEY_CONNECT"
|
||||||
|
# key 219 "KEY_FINANCE"
|
||||||
|
# key 220 "KEY_SPORT"
|
||||||
|
# key 221 "KEY_SHOP"
|
||||||
|
# key 222 "KEY_ALTERASE"
|
||||||
|
# key 223 "KEY_CANCEL"
|
||||||
|
# key 224 "KEY_BRIGHTNESSDOWN"
|
||||||
|
# key 225 "KEY_BRIGHTNESSUP"
|
||||||
|
key 226 HEADSETHOOK
|
||||||
|
|
||||||
|
key 256 BUTTON_1
|
||||||
|
key 257 BUTTON_2
|
||||||
|
key 258 BUTTON_3
|
||||||
|
key 259 BUTTON_4
|
||||||
|
key 260 BUTTON_5
|
||||||
|
key 261 BUTTON_6
|
||||||
|
key 262 BUTTON_7
|
||||||
|
key 263 BUTTON_8
|
||||||
|
key 264 BUTTON_9
|
||||||
|
key 265 BUTTON_10
|
||||||
|
key 266 BUTTON_11
|
||||||
|
key 267 BUTTON_12
|
||||||
|
key 268 BUTTON_13
|
||||||
|
key 269 BUTTON_14
|
||||||
|
key 270 BUTTON_15
|
||||||
|
key 271 BUTTON_16
|
||||||
|
|
||||||
|
key 288 BUTTON_1
|
||||||
|
key 289 BUTTON_2
|
||||||
|
key 290 BUTTON_3
|
||||||
|
key 291 BUTTON_4
|
||||||
|
key 292 BUTTON_5
|
||||||
|
key 293 BUTTON_6
|
||||||
|
key 294 BUTTON_7
|
||||||
|
key 295 BUTTON_8
|
||||||
|
key 296 BUTTON_9
|
||||||
|
key 297 BUTTON_10
|
||||||
|
key 298 BUTTON_11
|
||||||
|
key 299 BUTTON_12
|
||||||
|
key 300 BUTTON_13
|
||||||
|
key 301 BUTTON_14
|
||||||
|
key 302 BUTTON_15
|
||||||
|
key 303 BUTTON_16
|
||||||
|
|
||||||
|
|
||||||
|
key 304 BUTTON_A
|
||||||
|
key 305 BUTTON_B
|
||||||
|
key 306 BUTTON_C
|
||||||
|
key 307 BUTTON_X
|
||||||
|
key 308 BUTTON_Y
|
||||||
|
key 309 BUTTON_Z
|
||||||
|
key 310 BUTTON_L1
|
||||||
|
key 311 BUTTON_R1
|
||||||
|
key 312 BUTTON_L2
|
||||||
|
key 313 BUTTON_R2
|
||||||
|
key 314 BUTTON_SELECT
|
||||||
|
key 315 BUTTON_START
|
||||||
|
key 316 BUTTON_MODE
|
||||||
|
key 317 BUTTON_THUMBL
|
||||||
|
key 318 BUTTON_THUMBR
|
||||||
|
|
||||||
|
|
||||||
|
# key 352 "KEY_OK"
|
||||||
|
# key 353 "KEY_SELECT"
|
||||||
|
# key 354 "KEY_GOTO"
|
||||||
|
# key 355 "KEY_CLEAR"
|
||||||
|
# key 356 "KEY_POWER2"
|
||||||
|
# key 357 "KEY_OPTION"
|
||||||
|
# key 358 "KEY_INFO"
|
||||||
|
# key 359 "KEY_TIME"
|
||||||
|
# key 360 "KEY_VENDOR"
|
||||||
|
# key 361 "KEY_ARCHIVE"
|
||||||
|
key 362 GUIDE
|
||||||
|
# key 363 "KEY_CHANNEL"
|
||||||
|
# key 364 "KEY_FAVORITES"
|
||||||
|
# key 365 "KEY_EPG"
|
||||||
|
key 366 DVR
|
||||||
|
# key 367 "KEY_MHP"
|
||||||
|
# key 368 "KEY_LANGUAGE"
|
||||||
|
# key 369 "KEY_TITLE"
|
||||||
|
# key 370 "KEY_SUBTITLE"
|
||||||
|
# key 371 "KEY_ANGLE"
|
||||||
|
# key 372 "KEY_ZOOM"
|
||||||
|
# key 373 "KEY_MODE"
|
||||||
|
# key 374 "KEY_KEYBOARD"
|
||||||
|
# key 375 "KEY_SCREEN"
|
||||||
|
# key 376 "KEY_PC"
|
||||||
|
key 377 TV
|
||||||
|
# key 378 "KEY_TV2"
|
||||||
|
# key 379 "KEY_VCR"
|
||||||
|
# key 380 "KEY_VCR2"
|
||||||
|
# key 381 "KEY_SAT"
|
||||||
|
# key 382 "KEY_SAT2"
|
||||||
|
# key 383 "KEY_CD"
|
||||||
|
# key 384 "KEY_TAPE"
|
||||||
|
# key 385 "KEY_RADIO"
|
||||||
|
# key 386 "KEY_TUNER"
|
||||||
|
# key 387 "KEY_PLAYER"
|
||||||
|
# key 388 "KEY_TEXT"
|
||||||
|
# key 389 "KEY_DVD"
|
||||||
|
# key 390 "KEY_AUX"
|
||||||
|
# key 391 "KEY_MP3"
|
||||||
|
# key 392 "KEY_AUDIO"
|
||||||
|
# key 393 "KEY_VIDEO"
|
||||||
|
# key 394 "KEY_DIRECTORY"
|
||||||
|
# key 395 "KEY_LIST"
|
||||||
|
# key 396 "KEY_MEMO"
|
||||||
|
key 397 CALENDAR
|
||||||
|
# key 398 "KEY_RED"
|
||||||
|
# key 399 "KEY_GREEN"
|
||||||
|
# key 400 "KEY_YELLOW"
|
||||||
|
# key 401 "KEY_BLUE"
|
||||||
|
key 402 CHANNEL_UP
|
||||||
|
key 403 CHANNEL_DOWN
|
||||||
|
# key 404 "KEY_FIRST"
|
||||||
|
# key 405 "KEY_LAST"
|
||||||
|
# key 406 "KEY_AB"
|
||||||
|
# key 407 "KEY_NEXT"
|
||||||
|
# key 408 "KEY_RESTART"
|
||||||
|
# key 409 "KEY_SLOW"
|
||||||
|
# key 410 "KEY_SHUFFLE"
|
||||||
|
# key 411 "KEY_BREAK"
|
||||||
|
# key 412 "KEY_PREVIOUS"
|
||||||
|
# key 413 "KEY_DIGITS"
|
||||||
|
# key 414 "KEY_TEEN"
|
||||||
|
# key 415 "KEY_TWEN"
|
||||||
|
|
||||||
|
key 429 CONTACTS
|
||||||
|
|
||||||
|
# key 448 "KEY_DEL_EOL"
|
||||||
|
# key 449 "KEY_DEL_EOS"
|
||||||
|
# key 450 "KEY_INS_LINE"
|
||||||
|
# key 451 "KEY_DEL_LINE"
|
||||||
|
|
||||||
|
|
||||||
|
key 464 FUNCTION
|
||||||
|
key 465 ESCAPE FUNCTION
|
||||||
|
key 466 F1 FUNCTION
|
||||||
|
key 467 F2 FUNCTION
|
||||||
|
key 468 F3 FUNCTION
|
||||||
|
key 469 F4 FUNCTION
|
||||||
|
key 470 F5 FUNCTION
|
||||||
|
key 471 F6 FUNCTION
|
||||||
|
key 472 F7 FUNCTION
|
||||||
|
key 473 F8 FUNCTION
|
||||||
|
key 474 F9 FUNCTION
|
||||||
|
key 475 F10 FUNCTION
|
||||||
|
key 476 F11 FUNCTION
|
||||||
|
key 477 F12 FUNCTION
|
||||||
|
key 478 1 FUNCTION
|
||||||
|
key 479 2 FUNCTION
|
||||||
|
key 480 D FUNCTION
|
||||||
|
key 481 E FUNCTION
|
||||||
|
key 482 F FUNCTION
|
||||||
|
key 483 S FUNCTION
|
||||||
|
key 484 B FUNCTION
|
||||||
|
|
||||||
|
|
||||||
|
# key 497 KEY_BRL_DOT1
|
||||||
|
# key 498 KEY_BRL_DOT2
|
||||||
|
# key 499 KEY_BRL_DOT3
|
||||||
|
# key 500 KEY_BRL_DOT4
|
||||||
|
# key 501 KEY_BRL_DOT5
|
||||||
|
# key 502 KEY_BRL_DOT6
|
||||||
|
# key 503 KEY_BRL_DOT7
|
||||||
|
# key 504 KEY_BRL_DOT8
|
||||||
|
|
||||||
|
|
||||||
|
# Joystick and game controller axes.
|
||||||
|
# Axes that are not mapped will be assigned generic axis numbers by the input subsystem.
|
||||||
|
axis 0x00 X
|
||||||
|
axis 0x01 Y
|
||||||
|
axis 0x02 Z
|
||||||
|
axis 0x03 RX
|
||||||
|
axis 0x04 RY
|
||||||
|
axis 0x05 RZ
|
||||||
|
axis 0x06 THROTTLE
|
||||||
|
axis 0x07 RUDDER
|
||||||
|
axis 0x08 WHEEL
|
||||||
|
axis 0x09 GAS
|
||||||
|
axis 0x0a BRAKE
|
||||||
|
axis 0x10 HAT_X
|
||||||
|
axis 0x11 HAT_Y
|
46
keylayout/Vendor_045e_Product_028e.kl
Normal file
46
keylayout/Vendor_045e_Product_028e.kl
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Copyright (C) 2011 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# XBox 360 USB Controller
|
||||||
|
#
|
||||||
|
|
||||||
|
key 304 BUTTON_A
|
||||||
|
key 305 BUTTON_B
|
||||||
|
key 307 BUTTON_X
|
||||||
|
key 308 BUTTON_Y
|
||||||
|
key 310 BUTTON_L1
|
||||||
|
key 311 BUTTON_R1
|
||||||
|
key 314 BUTTON_SELECT
|
||||||
|
key 315 BUTTON_START
|
||||||
|
key 316 BUTTON_MODE
|
||||||
|
key 317 BUTTON_THUMBL
|
||||||
|
key 318 BUTTON_THUMBR
|
||||||
|
|
||||||
|
# Left and right stick.
|
||||||
|
# The reported value for flat is 128 out of a range from -32767 to 32768, which is absurd.
|
||||||
|
# This confuses applications that rely on the flat value because the joystick actually
|
||||||
|
# settles in a flat range of +/- 4096 or so.
|
||||||
|
axis 0x00 X flat 4096
|
||||||
|
axis 0x01 Y flat 4096
|
||||||
|
axis 0x03 Z flat 4096
|
||||||
|
axis 0x04 RZ flat 4096
|
||||||
|
|
||||||
|
# Triggers.
|
||||||
|
axis 0x02 LTRIGGER
|
||||||
|
axis 0x05 RTRIGGER
|
||||||
|
|
||||||
|
# Hat.
|
||||||
|
axis 0x10 HAT_X
|
||||||
|
axis 0x11 HAT_Y
|
37
keylayout/Vendor_046d_Product_c216.kl
Normal file
37
keylayout/Vendor_046d_Product_c216.kl
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Copyright (C) 2011 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Logitech Dual Action Controller
|
||||||
|
#
|
||||||
|
|
||||||
|
key 0x120 BUTTON_A
|
||||||
|
key 0x123 BUTTON_B
|
||||||
|
key 0x121 BUTTON_X
|
||||||
|
key 0x122 BUTTON_Y
|
||||||
|
key 0x124 BUTTON_L1
|
||||||
|
key 0x125 BUTTON_R1
|
||||||
|
key 0x126 BUTTON_L2
|
||||||
|
key 0x127 BUTTON_R2
|
||||||
|
key 0x128 BUTTON_SELECT
|
||||||
|
key 0x129 BUTTON_START
|
||||||
|
key 0x12a BUTTON_THUMBL
|
||||||
|
key 0x12b BUTTON_THUMBR
|
||||||
|
|
||||||
|
axis 0x00 X
|
||||||
|
axis 0x01 Y
|
||||||
|
axis 0x02 Z
|
||||||
|
axis 0x05 RZ
|
||||||
|
axis 0x10 HAT_X
|
||||||
|
axis 0x11 HAT_Y
|
53
keylayout/Vendor_046d_Product_c294.kl
Normal file
53
keylayout/Vendor_046d_Product_c294.kl
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
# Copyright (C) 2011 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Logitech G25 Racing Wheel (in Compatibility Mode)
|
||||||
|
#
|
||||||
|
|
||||||
|
# 4 way buttons above hat
|
||||||
|
key 0x121 BUTTON_A
|
||||||
|
key 0x123 BUTTON_B
|
||||||
|
key 0x120 BUTTON_X
|
||||||
|
key 0x122 BUTTON_Y
|
||||||
|
|
||||||
|
# Row of buttons under hat
|
||||||
|
key 0x12b BUTTON_1
|
||||||
|
key 0x128 BUTTON_2
|
||||||
|
key 0x129 BUTTON_3
|
||||||
|
key 0x12a BUTTON_4
|
||||||
|
|
||||||
|
# Gear shift positions
|
||||||
|
# 0x12a top-left gear (aliased as BUTTON_4)
|
||||||
|
# 0x12b bottom-left gear (aliased as BUTTON_1)
|
||||||
|
|
||||||
|
# Buttons on wheel
|
||||||
|
key 0x127 BUTTON_L1
|
||||||
|
key 0x126 BUTTON_R1
|
||||||
|
|
||||||
|
# Toggles under wheel
|
||||||
|
key 0x125 BUTTON_L2
|
||||||
|
key 0x124 BUTTON_R2
|
||||||
|
|
||||||
|
# Hat
|
||||||
|
axis 0x10 HAT_X
|
||||||
|
axis 0x11 HAT_Y
|
||||||
|
|
||||||
|
# Steering Wheel
|
||||||
|
axis 0x00 WHEEL
|
||||||
|
|
||||||
|
# Accelerator / Brake
|
||||||
|
# 00..7e : accelerator
|
||||||
|
# 80..ff : brake
|
||||||
|
axis 0x01 split 0x7f GAS BRAKE
|
62
keylayout/Vendor_046d_Product_c299.kl
Normal file
62
keylayout/Vendor_046d_Product_c299.kl
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# Copyright (C) 2011 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Logitech G25 Racing Wheel (in Native Mode)
|
||||||
|
#
|
||||||
|
|
||||||
|
# 4 way buttons above hat
|
||||||
|
key 0x121 BUTTON_A
|
||||||
|
key 0x123 BUTTON_B
|
||||||
|
key 0x120 BUTTON_X
|
||||||
|
key 0x122 BUTTON_Y
|
||||||
|
|
||||||
|
# Row of buttons under hat
|
||||||
|
key 0x12b BUTTON_1
|
||||||
|
key 0x128 BUTTON_2
|
||||||
|
key 0x129 BUTTON_3
|
||||||
|
key 0x12a BUTTON_4
|
||||||
|
|
||||||
|
# Gear shift positions
|
||||||
|
key 0x12c BUTTON_5
|
||||||
|
key 0x12d BUTTON_6
|
||||||
|
key 0x12e BUTTON_7
|
||||||
|
key 0x12f BUTTON_8
|
||||||
|
key 0x2d0 BUTTON_9
|
||||||
|
key 0x2d1 BUTTON_10
|
||||||
|
key 0x2d2 BUTTON_11
|
||||||
|
|
||||||
|
# Buttons on wheel
|
||||||
|
key 0x127 BUTTON_L1
|
||||||
|
key 0x126 BUTTON_R1
|
||||||
|
|
||||||
|
# Toggles under wheel
|
||||||
|
key 0x125 BUTTON_L2
|
||||||
|
key 0x124 BUTTON_R2
|
||||||
|
|
||||||
|
# Hat
|
||||||
|
axis 0x10 HAT_X
|
||||||
|
axis 0x11 HAT_Y
|
||||||
|
|
||||||
|
# Steering Wheel
|
||||||
|
axis 0x00 WHEEL
|
||||||
|
|
||||||
|
# Clutch
|
||||||
|
axis 0x01 invert GENERIC_1
|
||||||
|
|
||||||
|
# Accelerator
|
||||||
|
axis 0x02 invert GAS
|
||||||
|
|
||||||
|
# Brake
|
||||||
|
axis 0x05 invert BRAKE
|
133
keylayout/Vendor_046d_Product_c532.kl
Normal file
133
keylayout/Vendor_046d_Product_c532.kl
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Logitech Revue Wireless keyboard
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
# - The GRAVE key is emulated by the keyboard.
|
||||||
|
# ALT + LEFT_BRACKET produces GRAVE.
|
||||||
|
# ALT + RIGHT_BRACKET produces SHIFT + GRAVE.
|
||||||
|
# - FORWARD_DEL is produced by fn + BACKSPACE
|
||||||
|
# - PAGE_UP / PAGE_DOWN is produced by fn + CHANNEL_UP / CHANNEL_DOWN
|
||||||
|
# - The AVR / STB / TV power and input buttons seem to be non-functional
|
||||||
|
# as well as several of the other fn buttons and the PIP button?
|
||||||
|
|
||||||
|
key 1 ESCAPE
|
||||||
|
key 2 1
|
||||||
|
key 3 2
|
||||||
|
key 4 3
|
||||||
|
key 5 4
|
||||||
|
key 6 5
|
||||||
|
key 7 6
|
||||||
|
key 8 7
|
||||||
|
key 9 8
|
||||||
|
key 10 9
|
||||||
|
key 11 0
|
||||||
|
key 12 MINUS
|
||||||
|
key 13 EQUALS
|
||||||
|
key 14 DEL
|
||||||
|
key 15 TAB
|
||||||
|
key 16 Q
|
||||||
|
key 17 W
|
||||||
|
key 18 E
|
||||||
|
key 19 R
|
||||||
|
key 20 T
|
||||||
|
key 21 Y
|
||||||
|
key 22 U
|
||||||
|
key 23 I
|
||||||
|
key 24 O
|
||||||
|
key 25 P
|
||||||
|
key 26 LEFT_BRACKET
|
||||||
|
key 27 RIGHT_BRACKET
|
||||||
|
key 28 ENTER
|
||||||
|
key 29 CTRL_LEFT
|
||||||
|
key 30 A
|
||||||
|
key 31 S
|
||||||
|
key 32 D
|
||||||
|
key 33 F
|
||||||
|
key 34 G
|
||||||
|
key 35 H
|
||||||
|
key 36 J
|
||||||
|
key 37 K
|
||||||
|
key 38 L
|
||||||
|
key 39 SEMICOLON
|
||||||
|
key 40 APOSTROPHE
|
||||||
|
key 41 GRAVE
|
||||||
|
key 42 SHIFT_LEFT
|
||||||
|
key 43 BACKSLASH
|
||||||
|
key 44 Z
|
||||||
|
key 45 X
|
||||||
|
key 46 C
|
||||||
|
key 47 V
|
||||||
|
key 48 B
|
||||||
|
key 49 N
|
||||||
|
key 50 M
|
||||||
|
key 51 COMMA
|
||||||
|
key 52 PERIOD
|
||||||
|
key 53 SLASH
|
||||||
|
key 54 SHIFT_RIGHT
|
||||||
|
key 56 ALT_RIGHT
|
||||||
|
key 57 SPACE
|
||||||
|
key 58 CAPS_LOCK
|
||||||
|
key 59 F1
|
||||||
|
key 60 F2
|
||||||
|
key 61 F3
|
||||||
|
key 62 F4
|
||||||
|
key 63 F5
|
||||||
|
key 64 F6
|
||||||
|
key 65 F7
|
||||||
|
key 66 F8
|
||||||
|
key 67 F9
|
||||||
|
key 68 F10
|
||||||
|
key 87 F11
|
||||||
|
key 88 F12
|
||||||
|
key 96 DPAD_CENTER
|
||||||
|
key 97 CTRL_RIGHT
|
||||||
|
key 102 MOVE_HOME
|
||||||
|
key 103 DPAD_UP
|
||||||
|
key 104 PAGE_UP
|
||||||
|
key 105 DPAD_LEFT
|
||||||
|
key 106 DPAD_RIGHT
|
||||||
|
key 107 MOVE_END
|
||||||
|
key 108 DPAD_DOWN
|
||||||
|
key 109 PAGE_DOWN
|
||||||
|
key 110 NUMPAD_ENTER
|
||||||
|
key 111 FORWARD_DEL
|
||||||
|
key 113 VOLUME_MUTE
|
||||||
|
key 114 VOLUME_DOWN
|
||||||
|
key 115 VOLUME_UP
|
||||||
|
key 119 MEDIA_PAUSE
|
||||||
|
key 125 SEARCH
|
||||||
|
key 127 MENU
|
||||||
|
key 156 BOOKMARK
|
||||||
|
key 158 BACK
|
||||||
|
key 163 MEDIA_NEXT
|
||||||
|
key 165 MEDIA_PREVIOUS
|
||||||
|
key 166 MEDIA_STOP
|
||||||
|
key 167 MEDIA_RECORD
|
||||||
|
key 168 MEDIA_REWIND
|
||||||
|
key 172 HOME
|
||||||
|
key 207 MEDIA_PLAY
|
||||||
|
key 208 MEDIA_FAST_FORWARD
|
||||||
|
# key 288 left mouse button
|
||||||
|
# key 289 right mouse button (fn + button)
|
||||||
|
key 362 GUIDE
|
||||||
|
key 366 DVR
|
||||||
|
key 377 TV
|
||||||
|
key 402 CHANNEL_UP
|
||||||
|
key 403 CHANNEL_DOWN
|
||||||
|
key 418 ZOOM_IN
|
||||||
|
key 419 ZOOM_OUT
|
||||||
|
|
393
keylayout/Vendor_04e8_Product_7021.kl
Normal file
393
keylayout/Vendor_04e8_Product_7021.kl
Normal file
@ -0,0 +1,393 @@
|
|||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generic key layout file for full alphabetic US English PC style external keyboards.
|
||||||
|
#
|
||||||
|
# This file is intentionally very generic and is intended to support a broad rang of keyboards.
|
||||||
|
# Do not edit the generic key layout to support a specific keyboard; instead, create
|
||||||
|
# a new key layout file with the required keyboard configuration.
|
||||||
|
#
|
||||||
|
|
||||||
|
key 1 BACK
|
||||||
|
key 2 1
|
||||||
|
key 3 2
|
||||||
|
key 4 3
|
||||||
|
key 5 4
|
||||||
|
key 6 5
|
||||||
|
key 7 6
|
||||||
|
key 8 7
|
||||||
|
key 9 8
|
||||||
|
key 10 9
|
||||||
|
key 11 0
|
||||||
|
key 12 MINUS
|
||||||
|
key 13 EQUALS
|
||||||
|
key 14 DEL
|
||||||
|
key 15 TAB
|
||||||
|
key 16 Q
|
||||||
|
key 17 W
|
||||||
|
key 18 E
|
||||||
|
key 19 R
|
||||||
|
key 20 T
|
||||||
|
key 21 Y
|
||||||
|
key 22 U
|
||||||
|
key 23 I
|
||||||
|
key 24 O
|
||||||
|
key 25 P
|
||||||
|
key 26 LEFT_BRACKET
|
||||||
|
key 27 RIGHT_BRACKET
|
||||||
|
key 28 ENTER
|
||||||
|
key 29 CTRL_LEFT
|
||||||
|
key 30 A
|
||||||
|
key 31 S
|
||||||
|
key 32 D
|
||||||
|
key 33 F
|
||||||
|
key 34 G
|
||||||
|
key 35 H
|
||||||
|
key 36 J
|
||||||
|
key 37 K
|
||||||
|
key 38 L
|
||||||
|
key 39 SEMICOLON
|
||||||
|
key 40 APOSTROPHE
|
||||||
|
key 41 GRAVE
|
||||||
|
key 42 SHIFT_LEFT
|
||||||
|
key 43 BACKSLASH
|
||||||
|
key 44 Z
|
||||||
|
key 45 X
|
||||||
|
key 46 C
|
||||||
|
key 47 V
|
||||||
|
key 48 B
|
||||||
|
key 49 N
|
||||||
|
key 50 M
|
||||||
|
key 51 COMMA
|
||||||
|
key 52 PERIOD
|
||||||
|
key 53 SLASH
|
||||||
|
key 54 SHIFT_RIGHT
|
||||||
|
key 55 NUMPAD_MULTIPLY
|
||||||
|
key 56 ALT_LEFT
|
||||||
|
key 57 SPACE
|
||||||
|
key 58 CAPS_LOCK
|
||||||
|
key 59 F1
|
||||||
|
key 60 F2
|
||||||
|
key 61 F3
|
||||||
|
key 62 F4
|
||||||
|
key 63 F5
|
||||||
|
key 64 F6
|
||||||
|
key 65 F7
|
||||||
|
key 66 F8
|
||||||
|
key 67 F9
|
||||||
|
key 68 F10
|
||||||
|
key 69 NUM_LOCK
|
||||||
|
key 70 SCROLL_LOCK
|
||||||
|
key 71 NUMPAD_7
|
||||||
|
key 72 NUMPAD_8
|
||||||
|
key 73 NUMPAD_9
|
||||||
|
key 74 NUMPAD_SUBTRACT
|
||||||
|
key 75 NUMPAD_4
|
||||||
|
key 76 NUMPAD_5
|
||||||
|
key 77 NUMPAD_6
|
||||||
|
key 78 NUMPAD_ADD
|
||||||
|
key 79 NUMPAD_1
|
||||||
|
key 80 NUMPAD_2
|
||||||
|
key 81 NUMPAD_3
|
||||||
|
key 82 NUMPAD_0
|
||||||
|
key 83 NUMPAD_DOT
|
||||||
|
# key 84 (undefined)
|
||||||
|
# key 85 "KEY_ZENKAKUHANKAKU"
|
||||||
|
key 86 BACKSLASH
|
||||||
|
key 87 F11
|
||||||
|
key 88 F12
|
||||||
|
# key 89 "KEY_RO"
|
||||||
|
# key 90 "KEY_KATAKANA"
|
||||||
|
# key 91 "KEY_HIRAGANA"
|
||||||
|
# key 92 "KEY_HENKAN"
|
||||||
|
# key 93 "KEY_KATAKANAHIRAGANA"
|
||||||
|
# key 94 "KEY_MUHENKAN"
|
||||||
|
key 95 NUMPAD_COMMA
|
||||||
|
key 96 NUMPAD_ENTER
|
||||||
|
key 97 CTRL_RIGHT
|
||||||
|
key 98 NUMPAD_DIVIDE
|
||||||
|
key 99 SYSRQ
|
||||||
|
key 100 ALT_GR
|
||||||
|
# key 101 "KEY_LINEFEED"
|
||||||
|
key 102 MOVE_HOME
|
||||||
|
key 103 DPAD_UP
|
||||||
|
key 104 PAGE_UP
|
||||||
|
key 105 DPAD_LEFT
|
||||||
|
key 106 DPAD_RIGHT
|
||||||
|
key 107 MOVE_END
|
||||||
|
key 108 DPAD_DOWN
|
||||||
|
key 109 PAGE_DOWN
|
||||||
|
key 110 INSERT
|
||||||
|
key 111 FORWARD_DEL
|
||||||
|
# key 112 "KEY_MACRO"
|
||||||
|
key 113 MUTE
|
||||||
|
key 114 VOLUME_DOWN
|
||||||
|
key 115 VOLUME_UP
|
||||||
|
key 116 POWER WAKE
|
||||||
|
key 117 NUMPAD_EQUALS
|
||||||
|
# key 118 "KEY_KPPLUSMINUS"
|
||||||
|
key 119 BREAK
|
||||||
|
# key 120 (undefined)
|
||||||
|
key 121 NUMPAD_COMMA
|
||||||
|
# key 122 "KEY_HANGEUL"
|
||||||
|
# key 123 "KEY_HANJA"
|
||||||
|
# key 124 "KEY_YEN"
|
||||||
|
key 125 META_LEFT
|
||||||
|
key 126 META_RIGHT
|
||||||
|
key 127 MENU WAKE_DROPPED
|
||||||
|
key 128 MEDIA_STOP
|
||||||
|
# key 129 "KEY_AGAIN"
|
||||||
|
# key 130 "KEY_PROPS"
|
||||||
|
# key 131 "KEY_UNDO"
|
||||||
|
# key 132 "KEY_FRONT"
|
||||||
|
# key 133 "KEY_COPY"
|
||||||
|
# key 134 "KEY_OPEN"
|
||||||
|
# key 135 "KEY_PASTE"
|
||||||
|
# key 136 "KEY_FIND"
|
||||||
|
# key 137 "KEY_CUT"
|
||||||
|
# key 138 "KEY_HELP"
|
||||||
|
key 139 MENU WAKE_DROPPED
|
||||||
|
# key 140 "KEY_CALC"
|
||||||
|
# key 141 "KEY_SETUP"
|
||||||
|
# key 142 "KEY_SLEEP"
|
||||||
|
# key 143 "KEY_WAKEUP"
|
||||||
|
# key 144 "KEY_FILE"
|
||||||
|
# key 145 "KEY_SENDFILE"
|
||||||
|
# key 146 "KEY_DELETEFILE"
|
||||||
|
# key 147 "KEY_XFER"
|
||||||
|
# key 148 "KEY_PROG1"
|
||||||
|
# key 149 "KEY_PROG2"
|
||||||
|
key 150 EXPLORER
|
||||||
|
# key 151 "KEY_MSDOS"
|
||||||
|
# key 152 "KEY_COFFEE"
|
||||||
|
key 152 POWER WAKE
|
||||||
|
# key 153 "KEY_DIRECTION"
|
||||||
|
# key 154 "KEY_CYCLEWINDOWS"
|
||||||
|
key 155 EMAIL
|
||||||
|
key 156 BOOKMARK
|
||||||
|
# key 157 "KEY_COMPUTER"
|
||||||
|
key 158 BACK WAKE_DROPPED
|
||||||
|
key 159 FORWARD
|
||||||
|
key 160 MEDIA_CLOSE
|
||||||
|
key 161 MEDIA_EJECT
|
||||||
|
key 162 MEDIA_EJECT
|
||||||
|
key 163 MEDIA_NEXT
|
||||||
|
key 164 MEDIA_PLAY_PAUSE
|
||||||
|
key 165 MEDIA_PREVIOUS
|
||||||
|
key 166 MEDIA_STOP
|
||||||
|
key 167 MEDIA_RECORD
|
||||||
|
key 168 MEDIA_REWIND
|
||||||
|
key 169 CALL
|
||||||
|
# key 170 "KEY_ISO"
|
||||||
|
# key 171 "KEY_CONFIG"
|
||||||
|
key 172 HOME
|
||||||
|
# key 173 "KEY_REFRESH"
|
||||||
|
# key 174 "KEY_EXIT"
|
||||||
|
# key 175 "KEY_MOVE"
|
||||||
|
# key 176 "KEY_EDIT"
|
||||||
|
key 177 PAGE_UP
|
||||||
|
key 178 PAGE_DOWN
|
||||||
|
key 179 NUMPAD_LEFT_PAREN
|
||||||
|
key 180 NUMPAD_RIGHT_PAREN
|
||||||
|
# key 181 "KEY_NEW"
|
||||||
|
# key 182 "KEY_REDO"
|
||||||
|
# key 183 F13
|
||||||
|
# key 184 F14
|
||||||
|
# key 185 F15
|
||||||
|
# key 186 F16
|
||||||
|
# key 187 F17
|
||||||
|
# key 188 F18
|
||||||
|
# key 189 F19
|
||||||
|
# key 190 F20
|
||||||
|
# key 191 F21
|
||||||
|
# key 192 F22
|
||||||
|
# key 193 F23
|
||||||
|
# key 194 F24
|
||||||
|
# key 195 (undefined)
|
||||||
|
# key 196 (undefined)
|
||||||
|
# key 197 (undefined)
|
||||||
|
# key 198 (undefined)
|
||||||
|
# key 199 (undefined)
|
||||||
|
key 200 MEDIA_PLAY
|
||||||
|
key 201 MEDIA_PAUSE
|
||||||
|
# key 202 "KEY_PROG3"
|
||||||
|
# key 203 "KEY_PROG4"
|
||||||
|
# key 204 (undefined)
|
||||||
|
# key 205 "KEY_SUSPEND"
|
||||||
|
# key 206 "KEY_CLOSE"
|
||||||
|
key 207 MEDIA_PLAY
|
||||||
|
key 208 MEDIA_FAST_FORWARD
|
||||||
|
# key 209 "KEY_BASSBOOST"
|
||||||
|
# key 210 "KEY_PRINT"
|
||||||
|
# key 211 "KEY_HP"
|
||||||
|
key 212 CAMERA
|
||||||
|
# key 213 "KEY_SOUND"
|
||||||
|
# key 214 "KEY_QUESTION"
|
||||||
|
key 215 ENVELOPE
|
||||||
|
# key 216 "KEY_CHAT"
|
||||||
|
key 217 SEARCH
|
||||||
|
# key 218 "KEY_CONNECT"
|
||||||
|
# key 219 "KEY_FINANCE"
|
||||||
|
# key 220 "KEY_SPORT"
|
||||||
|
# key 221 "KEY_SHOP"
|
||||||
|
# key 222 "KEY_ALTERASE"
|
||||||
|
# key 223 "KEY_CANCEL"
|
||||||
|
key 224 BRIGHTNESS_DOWN
|
||||||
|
key 225 BRIGHTNESS_UP
|
||||||
|
key 226 HEADSETHOOK
|
||||||
|
key 227 STAR
|
||||||
|
key 228 POUND
|
||||||
|
key 229 SOFT_LEFT
|
||||||
|
key 230 SOFT_RIGHT
|
||||||
|
key 231 CALL
|
||||||
|
key 232 DPAD_CENTER
|
||||||
|
key 233 HEADSETHOOK
|
||||||
|
# key 234 "KEY_0_5" or "KEY_SAVE"
|
||||||
|
# key 235 "KEY_2_5" or "KEY_DOCUMENTS"
|
||||||
|
# key 236 "KEY_SWITCHVIDEOMODE" or "KEY_BATTERY"
|
||||||
|
# key 237 "KEY_KBDILLUMTOGGLE"
|
||||||
|
# key 238 "KEY_KBDILLUMDOWN"
|
||||||
|
# key 239 "KEY_KBDILLUMUP"
|
||||||
|
# key 240 "KEY_UNKNOWN"
|
||||||
|
|
||||||
|
|
||||||
|
key 304 BUTTON_A
|
||||||
|
key 305 BUTTON_B
|
||||||
|
key 306 BUTTON_C
|
||||||
|
key 307 BUTTON_X
|
||||||
|
key 308 BUTTON_Y
|
||||||
|
key 309 BUTTON_Z
|
||||||
|
key 310 BUTTON_L1
|
||||||
|
key 311 BUTTON_R1
|
||||||
|
key 312 BUTTON_L2
|
||||||
|
key 313 BUTTON_R2
|
||||||
|
key 314 BUTTON_SELECT
|
||||||
|
key 315 BUTTON_START
|
||||||
|
key 316 BUTTON_MODE
|
||||||
|
key 317 BUTTON_THUMBL
|
||||||
|
key 318 BUTTON_THUMBR
|
||||||
|
|
||||||
|
|
||||||
|
# key 352 "KEY_OK"
|
||||||
|
# key 353 "KEY_SELECT"
|
||||||
|
# key 354 "KEY_GOTO"
|
||||||
|
# key 355 "KEY_CLEAR"
|
||||||
|
# key 356 "KEY_POWER2"
|
||||||
|
# key 357 "KEY_OPTION"
|
||||||
|
# key 358 "KEY_INFO"
|
||||||
|
# key 359 "KEY_TIME"
|
||||||
|
# key 360 "KEY_VENDOR"
|
||||||
|
# key 361 "KEY_ARCHIVE"
|
||||||
|
key 362 GUIDE
|
||||||
|
# key 363 "KEY_CHANNEL"
|
||||||
|
# key 364 "KEY_FAVORITES"
|
||||||
|
# key 365 "KEY_EPG"
|
||||||
|
key 366 DVR
|
||||||
|
# key 367 "KEY_MHP"
|
||||||
|
# key 368 "KEY_LANGUAGE"
|
||||||
|
key 368 LANG
|
||||||
|
# key 369 "KEY_TITLE"
|
||||||
|
# key 370 "KEY_SUBTITLE"
|
||||||
|
# key 371 "KEY_ANGLE"
|
||||||
|
# key 372 "KEY_ZOOM"
|
||||||
|
# key 373 "KEY_MODE"
|
||||||
|
# key 374 "KEY_KEYBOARD"
|
||||||
|
# key 375 "KEY_SCREEN"
|
||||||
|
# key 376 "KEY_PC"
|
||||||
|
key 377 TV
|
||||||
|
# key 378 "KEY_TV2"
|
||||||
|
# key 379 "KEY_VCR"
|
||||||
|
# key 380 "KEY_VCR2"
|
||||||
|
# key 381 "KEY_SAT"
|
||||||
|
# key 382 "KEY_SAT2"
|
||||||
|
# key 383 "KEY_CD"
|
||||||
|
# key 384 "KEY_TAPE"
|
||||||
|
# key 385 "KEY_RADIO"
|
||||||
|
# key 386 "KEY_TUNER"
|
||||||
|
# key 387 "KEY_PLAYER"
|
||||||
|
# key 388 "KEY_TEXT"
|
||||||
|
# key 389 "KEY_DVD"
|
||||||
|
# key 390 "KEY_AUX"
|
||||||
|
# key 391 "KEY_MP3"
|
||||||
|
# key 392 "KEY_AUDIO"
|
||||||
|
# key 393 "KEY_VIDEO"
|
||||||
|
# key 394 "KEY_DIRECTORY"
|
||||||
|
# key 395 "KEY_LIST"
|
||||||
|
# key 396 "KEY_MEMO"
|
||||||
|
# key 397 "KEY_CALENDAR"
|
||||||
|
# key 398 "KEY_RED"
|
||||||
|
# key 399 "KEY_GREEN"
|
||||||
|
# key 400 "KEY_YELLOW"
|
||||||
|
# key 401 "KEY_BLUE"
|
||||||
|
key 402 CHANNEL_UP
|
||||||
|
key 403 CHANNEL_DOWN
|
||||||
|
# key 404 "KEY_FIRST"
|
||||||
|
# key 405 "KEY_LAST"
|
||||||
|
# key 406 "KEY_AB"
|
||||||
|
# key 407 "KEY_NEXT"
|
||||||
|
# key 408 "KEY_RESTART"
|
||||||
|
# key 409 "KEY_SLOW"
|
||||||
|
# key 410 "KEY_SHUFFLE"
|
||||||
|
# key 411 "KEY_BREAK"
|
||||||
|
# key 412 "KEY_PREVIOUS"
|
||||||
|
# key 413 "KEY_DIGITS"
|
||||||
|
# key 414 "KEY_TEEN"
|
||||||
|
# key 415 "KEY_TWEN"
|
||||||
|
|
||||||
|
|
||||||
|
# key 448 "KEY_DEL_EOL"
|
||||||
|
# key 449 "KEY_DEL_EOS"
|
||||||
|
# key 450 "KEY_INS_LINE"
|
||||||
|
# key 451 "KEY_DEL_LINE"
|
||||||
|
|
||||||
|
|
||||||
|
key 464 FUNCTION
|
||||||
|
key 465 ESCAPE FUNCTION
|
||||||
|
key 466 F1 FUNCTION
|
||||||
|
key 467 F2 FUNCTION
|
||||||
|
key 468 F3 FUNCTION
|
||||||
|
key 469 F4 FUNCTION
|
||||||
|
key 470 F5 FUNCTION
|
||||||
|
key 471 F6 FUNCTION
|
||||||
|
key 472 F7 FUNCTION
|
||||||
|
key 473 F8 FUNCTION
|
||||||
|
key 474 F9 FUNCTION
|
||||||
|
key 475 F10 FUNCTION
|
||||||
|
key 476 F11 FUNCTION
|
||||||
|
key 477 F12 FUNCTION
|
||||||
|
key 478 1 FUNCTION
|
||||||
|
key 479 2 FUNCTION
|
||||||
|
key 480 D FUNCTION
|
||||||
|
key 481 E FUNCTION
|
||||||
|
key 482 F FUNCTION
|
||||||
|
key 483 S FUNCTION
|
||||||
|
key 484 B FUNCTION
|
||||||
|
|
||||||
|
|
||||||
|
# key 497 KEY_BRL_DOT1
|
||||||
|
# key 498 KEY_BRL_DOT2
|
||||||
|
# key 499 KEY_BRL_DOT3
|
||||||
|
# key 500 KEY_BRL_DOT4
|
||||||
|
# key 501 KEY_BRL_DOT5
|
||||||
|
# key 502 KEY_BRL_DOT6
|
||||||
|
# key 503 KEY_BRL_DOT7
|
||||||
|
# key 504 KEY_BRL_DOT8
|
||||||
|
|
||||||
|
|
||||||
|
key 704 RECENTAPPS
|
||||||
|
key 705 APPLICATION
|
||||||
|
key 706 SIP_ON_OFF
|
||||||
|
key 707 VOICESEARCH
|
||||||
|
key 708 QPANEL_ON_OFF
|
76
keylayout/Vendor_054c_Product_0268.kl
Normal file
76
keylayout/Vendor_054c_Product_0268.kl
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
# Copyright (C) 2011 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Sony Playstation(R)3 Controller
|
||||||
|
#
|
||||||
|
|
||||||
|
key 0x124 DPAD_UP
|
||||||
|
key 0x125 DPAD_RIGHT
|
||||||
|
key 0x126 DPAD_DOWN
|
||||||
|
key 0x127 DPAD_LEFT
|
||||||
|
|
||||||
|
key 0x120 BUTTON_SELECT
|
||||||
|
key 0x123 BUTTON_START
|
||||||
|
key 0x12f BUTTON_A
|
||||||
|
key 0x12c BUTTON_B
|
||||||
|
key 0x12e BUTTON_X
|
||||||
|
key 0x12d BUTTON_Y
|
||||||
|
key 0x12a BUTTON_L1
|
||||||
|
key 0x12b BUTTON_R1
|
||||||
|
key 0x128 BUTTON_L2
|
||||||
|
key 0x129 BUTTON_R2
|
||||||
|
key 0x121 BUTTON_THUMBL
|
||||||
|
key 0x122 BUTTON_THUMBR
|
||||||
|
|
||||||
|
# PS key
|
||||||
|
key 0x2d0 BUTTON_1
|
||||||
|
|
||||||
|
# Left Analog Stick
|
||||||
|
axis 0x00 X
|
||||||
|
axis 0x01 Y
|
||||||
|
|
||||||
|
# Right Analog Stick
|
||||||
|
axis 0x02 Z
|
||||||
|
axis 0x05 RZ
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
# axis 0x2c -HAT_Y
|
||||||
|
# axis 0x2d +HAT_X
|
||||||
|
# axis 0x2e +HAT_Y
|
||||||
|
# axis 0x2f -HAT_X
|
||||||
|
|
||||||
|
# L2 trigger
|
||||||
|
axis 0x30 LTRIGGER
|
||||||
|
|
||||||
|
# R2 trigger
|
||||||
|
axis 0x31 RTRIGGER
|
||||||
|
|
||||||
|
# L1 trigger
|
||||||
|
# axis 0x32
|
||||||
|
|
||||||
|
# R1 trigger
|
||||||
|
# axis 0x33
|
||||||
|
|
||||||
|
# Triangle
|
||||||
|
# axis 0x34
|
||||||
|
|
||||||
|
# Circle
|
||||||
|
# axis 0x35
|
||||||
|
|
||||||
|
# Cross
|
||||||
|
# axis 0x36
|
||||||
|
|
||||||
|
# Square
|
||||||
|
# axis 0x37
|
119
keylayout/Vendor_05ac_Product_0239.kl
Normal file
119
keylayout/Vendor_05ac_Product_0239.kl
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Apple Wireless Keyboard
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
# - Keys such as PAGE_UP and FORWARD_DEL are produced using the
|
||||||
|
# function key.
|
||||||
|
# - Special function keys for brightness control, etc. are not
|
||||||
|
# implemented here.
|
||||||
|
|
||||||
|
key 1 ESCAPE
|
||||||
|
key 2 1
|
||||||
|
key 3 2
|
||||||
|
key 4 3
|
||||||
|
key 5 4
|
||||||
|
key 6 5
|
||||||
|
key 7 6
|
||||||
|
key 8 7
|
||||||
|
key 9 8
|
||||||
|
key 10 9
|
||||||
|
key 11 0
|
||||||
|
key 12 MINUS
|
||||||
|
key 13 EQUALS
|
||||||
|
key 14 DEL
|
||||||
|
key 15 TAB
|
||||||
|
key 16 Q
|
||||||
|
key 17 W
|
||||||
|
key 18 E
|
||||||
|
key 19 R
|
||||||
|
key 20 T
|
||||||
|
key 21 Y
|
||||||
|
key 22 U
|
||||||
|
key 23 I
|
||||||
|
key 24 O
|
||||||
|
key 25 P
|
||||||
|
key 26 LEFT_BRACKET
|
||||||
|
key 27 RIGHT_BRACKET
|
||||||
|
key 28 ENTER
|
||||||
|
key 29 CTRL_LEFT
|
||||||
|
key 30 A
|
||||||
|
key 31 S
|
||||||
|
key 32 D
|
||||||
|
key 33 F
|
||||||
|
key 34 G
|
||||||
|
key 35 H
|
||||||
|
key 36 J
|
||||||
|
key 37 K
|
||||||
|
key 38 L
|
||||||
|
key 39 SEMICOLON
|
||||||
|
key 40 APOSTROPHE
|
||||||
|
key 41 GRAVE
|
||||||
|
key 42 SHIFT_LEFT
|
||||||
|
key 43 BACKSLASH
|
||||||
|
key 44 Z
|
||||||
|
key 45 X
|
||||||
|
key 46 C
|
||||||
|
key 47 V
|
||||||
|
key 48 B
|
||||||
|
key 49 N
|
||||||
|
key 50 M
|
||||||
|
key 51 COMMA
|
||||||
|
key 52 PERIOD
|
||||||
|
key 53 SLASH
|
||||||
|
key 54 SHIFT_RIGHT
|
||||||
|
key 56 ALT_LEFT
|
||||||
|
key 57 SPACE
|
||||||
|
key 58 CAPS_LOCK
|
||||||
|
key 59 F1
|
||||||
|
key 60 F2
|
||||||
|
key 61 F3
|
||||||
|
key 62 F4
|
||||||
|
key 63 F5
|
||||||
|
key 64 F6
|
||||||
|
key 65 F7
|
||||||
|
key 66 F8
|
||||||
|
key 67 F9
|
||||||
|
key 68 F10
|
||||||
|
key 87 F11
|
||||||
|
key 88 F12
|
||||||
|
key 100 ALT_RIGHT
|
||||||
|
key 102 MOVE_HOME
|
||||||
|
key 103 DPAD_UP
|
||||||
|
key 104 PAGE_UP
|
||||||
|
key 105 DPAD_LEFT
|
||||||
|
key 106 DPAD_RIGHT
|
||||||
|
key 107 MOVE_END
|
||||||
|
key 108 DPAD_DOWN
|
||||||
|
key 109 PAGE_DOWN
|
||||||
|
key 110 NUMPAD_ENTER
|
||||||
|
key 111 FORWARD_DEL
|
||||||
|
key 113 VOLUME_MUTE
|
||||||
|
key 114 VOLUME_DOWN
|
||||||
|
key 115 VOLUME_UP
|
||||||
|
key 120 APP_SWITCH
|
||||||
|
key 125 META_LEFT
|
||||||
|
key 126 META_RIGHT
|
||||||
|
key 161 MEDIA_EJECT
|
||||||
|
key 163 MEDIA_NEXT
|
||||||
|
key 164 MEDIA_PLAY_PAUSE
|
||||||
|
key 165 MEDIA_PREVIOUS
|
||||||
|
# key 204 show gadgets
|
||||||
|
# key 224 reduce brightness
|
||||||
|
# key 225 increase brightness
|
||||||
|
# key 229 blank special function on F5
|
||||||
|
# key 230 blank special function on F6
|
||||||
|
key 464 FUNCTION
|
105
keylayout/Vendor_22b8_Product_093d.kl
Normal file
105
keylayout/Vendor_22b8_Product_093d.kl
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Motorola Bluetooth Wireless Keyboard.
|
||||||
|
#
|
||||||
|
|
||||||
|
key 1 BACK
|
||||||
|
key 2 1
|
||||||
|
key 3 2
|
||||||
|
key 4 3
|
||||||
|
key 5 4
|
||||||
|
key 6 5
|
||||||
|
key 7 6
|
||||||
|
key 8 7
|
||||||
|
key 9 8
|
||||||
|
key 10 9
|
||||||
|
key 11 0
|
||||||
|
key 12 MINUS
|
||||||
|
key 13 EQUALS
|
||||||
|
key 14 DEL
|
||||||
|
key 15 TAB
|
||||||
|
key 16 Q
|
||||||
|
key 17 W
|
||||||
|
key 18 E
|
||||||
|
key 19 R
|
||||||
|
key 20 T
|
||||||
|
key 21 Y
|
||||||
|
key 22 U
|
||||||
|
key 23 I
|
||||||
|
key 24 O
|
||||||
|
key 25 P
|
||||||
|
key 26 LEFT_BRACKET
|
||||||
|
key 27 RIGHT_BRACKET
|
||||||
|
key 28 ENTER
|
||||||
|
key 29 CTRL_LEFT
|
||||||
|
key 30 A
|
||||||
|
key 31 S
|
||||||
|
key 32 D
|
||||||
|
key 33 F
|
||||||
|
key 34 G
|
||||||
|
key 35 H
|
||||||
|
key 36 J
|
||||||
|
key 37 K
|
||||||
|
key 38 L
|
||||||
|
key 39 SEMICOLON
|
||||||
|
key 40 APOSTROPHE
|
||||||
|
key 41 GRAVE
|
||||||
|
key 42 SHIFT_LEFT
|
||||||
|
key 43 BACKSLASH
|
||||||
|
key 44 Z
|
||||||
|
key 45 X
|
||||||
|
key 46 C
|
||||||
|
key 47 V
|
||||||
|
key 48 B
|
||||||
|
key 49 N
|
||||||
|
key 50 M
|
||||||
|
key 51 COMMA
|
||||||
|
key 52 PERIOD
|
||||||
|
key 53 SLASH
|
||||||
|
key 54 SHIFT_RIGHT
|
||||||
|
key 56 ALT_LEFT
|
||||||
|
key 57 SPACE
|
||||||
|
key 58 CAPS_LOCK
|
||||||
|
key 59 F1
|
||||||
|
key 60 F2
|
||||||
|
key 61 F3
|
||||||
|
key 62 F4
|
||||||
|
key 63 F5
|
||||||
|
key 64 F6
|
||||||
|
key 65 F7
|
||||||
|
key 66 F8
|
||||||
|
key 67 F9
|
||||||
|
key 68 F10
|
||||||
|
key 87 F11
|
||||||
|
key 88 F12
|
||||||
|
key 97 CTRL_RIGHT
|
||||||
|
key 102 HOME
|
||||||
|
key 103 DPAD_UP
|
||||||
|
key 105 DPAD_LEFT
|
||||||
|
key 106 DPAD_RIGHT
|
||||||
|
key 107 MOVE_END
|
||||||
|
key 108 DPAD_DOWN
|
||||||
|
key 111 FORWARD_DEL
|
||||||
|
key 113 VOLUME_MUTE
|
||||||
|
key 114 VOLUME_DOWN
|
||||||
|
key 115 VOLUME_UP
|
||||||
|
key 125 MENU
|
||||||
|
key 127 SEARCH
|
||||||
|
key 163 MEDIA_NEXT
|
||||||
|
key 164 MEDIA_PLAY_PAUSE
|
||||||
|
key 165 MEDIA_PREVIOUS
|
||||||
|
key 166 MEDIA_STOP
|
||||||
|
# key 226 tbd reserved key
|
116
keylayout/cyttsp-i2c.kl
Normal file
116
keylayout/cyttsp-i2c.kl
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
# Copyright (c) 2011, Code Aurora Forum. All rights reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Function keys
|
||||||
|
key 59 MENU WAKE
|
||||||
|
key 60 HOME WAKE
|
||||||
|
key 61 CALL WAKE_DROPPED
|
||||||
|
key 62 BACK WAKE_DROPPED
|
||||||
|
key 63 ENDCALL WAKE_DROPPED
|
||||||
|
key 64 MEDIA_NEXT WAKE
|
||||||
|
key 65 MEDIA_PLAY_PAUSE WAKE
|
||||||
|
key 66 MEDIA_PREVIOUS WAKE
|
||||||
|
key 67 MEDIA_STOP WAKE
|
||||||
|
key 68 CAMERA
|
||||||
|
key 87 POWER WAKE
|
||||||
|
key 217 SEARCH WAKE_DROPPED
|
||||||
|
|
||||||
|
# Row 2
|
||||||
|
key 2 1 WAKE_DROPPED
|
||||||
|
key 3 2 WAKE_DROPPED
|
||||||
|
key 4 3 WAKE_DROPPED
|
||||||
|
key 5 4 WAKE_DROPPED
|
||||||
|
key 6 5 WAKE_DROPPED
|
||||||
|
key 7 6 WAKE_DROPPED
|
||||||
|
key 8 7 WAKE_DROPPED
|
||||||
|
key 9 8 WAKE_DROPPED
|
||||||
|
key 10 9 WAKE_DROPPED
|
||||||
|
key 11 0 WAKE_DROPPED
|
||||||
|
key 110 MENU WAKE
|
||||||
|
key 102 HOME WAKE
|
||||||
|
|
||||||
|
# Row 3
|
||||||
|
key 16 Q WAKE_DROPPED
|
||||||
|
key 17 W WAKE_DROPPED
|
||||||
|
key 18 E WAKE_DROPPED
|
||||||
|
key 19 R WAKE_DROPPED
|
||||||
|
key 20 T WAKE_DROPPED
|
||||||
|
key 21 Y WAKE_DROPPED
|
||||||
|
key 22 U WAKE_DROPPED
|
||||||
|
key 23 I WAKE_DROPPED
|
||||||
|
key 24 O WAKE_DROPPED
|
||||||
|
key 25 P WAKE_DROPPED
|
||||||
|
key 158 BACK WAKE_DROPPED
|
||||||
|
key 104 DPAD_UP WAKE_DROPPED
|
||||||
|
|
||||||
|
# Row 4
|
||||||
|
key 58 SHIFT_LEFT WAKE
|
||||||
|
key 30 A WAKE_DROPPED
|
||||||
|
key 31 S WAKE_DROPPED
|
||||||
|
key 32 D WAKE_DROPPED
|
||||||
|
key 33 F WAKE_DROPPED
|
||||||
|
key 34 G WAKE_DROPPED
|
||||||
|
key 35 H WAKE_DROPPED
|
||||||
|
key 36 J WAKE_DROPPED
|
||||||
|
key 37 K WAKE_DROPPED
|
||||||
|
key 38 L WAKE_DROPPED
|
||||||
|
key 28 DPAD_CENTER WAKE_DROPPED
|
||||||
|
key 109 DPAD_DOWN WAKE_DROPPED
|
||||||
|
|
||||||
|
# Row 5
|
||||||
|
key 183 SYM WAKE_DROPPED
|
||||||
|
key 44 Z WAKE_DROPPED
|
||||||
|
key 45 X WAKE_DROPPED
|
||||||
|
key 46 C WAKE_DROPPED
|
||||||
|
key 47 V WAKE_DROPPED
|
||||||
|
key 48 B WAKE_DROPPED
|
||||||
|
key 49 N WAKE_DROPPED
|
||||||
|
key 50 M WAKE_DROPPED
|
||||||
|
key 51 COMMA WAKE_DROPPED
|
||||||
|
key 52 PERIOD WAKE_DROPPED
|
||||||
|
key 103 DPAD_UP WAKE_DROPPED
|
||||||
|
key 107 ENDCALL WAKE_DROPPED
|
||||||
|
key 152 ENDCALL WAKE_DROPPED
|
||||||
|
|
||||||
|
# Row 6
|
||||||
|
key 42 SHIFT_LEFT WAKE_DROPPED
|
||||||
|
key 464 MENU WAKE_DROPPED
|
||||||
|
key 29 MENU WAKE_DROPPED
|
||||||
|
key 56 MENU WAKE_DROPPED
|
||||||
|
key 151 MENU WAKE_DROPPED
|
||||||
|
key 57 SPACE WAKE_DROPPED
|
||||||
|
key 111 DEL WAKE_DROPPED
|
||||||
|
key 54 SHIFT_RIGHT WAKE_DROPPED
|
||||||
|
key 105 DPAD_LEFT WAKE_DROPPED
|
||||||
|
key 108 DPAD_DOWN WAKE_DROPPED
|
||||||
|
key 106 DPAD_RIGHT WAKE_DROPPED
|
||||||
|
|
||||||
|
# Volume keys
|
||||||
|
key 115 VOLUME_UP WAKE_DROPPED
|
||||||
|
key 114 VOLUME_DOWN WAKE_DROPPED
|
||||||
|
|
||||||
|
# Numeric keypad
|
||||||
|
key 522 STAR WAKE_DROPPED
|
||||||
|
key 523 POUND WAKE_DROPPED
|
||||||
|
key 355 DEL WAKE_DROPPED
|
||||||
|
#L- Mapping
|
||||||
|
key 139 MENU WAKE
|
||||||
|
#SEND Key Mapping
|
||||||
|
key 231 CALL WAKE_DROPPED
|
||||||
|
# R+ Mapping
|
||||||
|
key 142 HOME WAKE_DROPPED
|
||||||
|
# Camera Keys
|
||||||
|
key 766 FOCUS
|
||||||
|
key 528 CAMERA
|
116
keylayout/keypad_8960.kl
Normal file
116
keylayout/keypad_8960.kl
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
# Copyright (c) 2011, Code Aurora Forum.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Function keys
|
||||||
|
key 59 MENU WAKE
|
||||||
|
key 60 HOME WAKE
|
||||||
|
key 61 CALL WAKE_DROPPED
|
||||||
|
key 62 BACK WAKE_DROPPED
|
||||||
|
key 63 ENDCALL WAKE_DROPPED
|
||||||
|
key 64 MEDIA_NEXT WAKE
|
||||||
|
key 65 MEDIA_PLAY_PAUSE WAKE
|
||||||
|
key 66 MEDIA_PREVIOUS WAKE
|
||||||
|
key 67 MEDIA_STOP WAKE
|
||||||
|
key 68 CAMERA
|
||||||
|
key 87 POWER WAKE
|
||||||
|
key 217 SEARCH WAKE_DROPPED
|
||||||
|
|
||||||
|
# Row 2
|
||||||
|
key 2 1 WAKE_DROPPED
|
||||||
|
key 3 2 WAKE_DROPPED
|
||||||
|
key 4 3 WAKE_DROPPED
|
||||||
|
key 5 4 WAKE_DROPPED
|
||||||
|
key 6 5 WAKE_DROPPED
|
||||||
|
key 7 6 WAKE_DROPPED
|
||||||
|
key 8 7 WAKE_DROPPED
|
||||||
|
key 9 8 WAKE_DROPPED
|
||||||
|
key 10 9 WAKE_DROPPED
|
||||||
|
key 11 0 WAKE_DROPPED
|
||||||
|
key 110 MENU WAKE
|
||||||
|
key 102 HOME WAKE
|
||||||
|
|
||||||
|
# Row 3
|
||||||
|
key 16 Q WAKE_DROPPED
|
||||||
|
key 17 W WAKE_DROPPED
|
||||||
|
key 18 E WAKE_DROPPED
|
||||||
|
key 19 R WAKE_DROPPED
|
||||||
|
key 20 T WAKE_DROPPED
|
||||||
|
key 21 Y WAKE_DROPPED
|
||||||
|
key 22 U WAKE_DROPPED
|
||||||
|
key 23 I WAKE_DROPPED
|
||||||
|
key 24 O WAKE_DROPPED
|
||||||
|
key 25 P WAKE_DROPPED
|
||||||
|
key 158 BACK WAKE_DROPPED
|
||||||
|
key 104 DPAD_UP WAKE_DROPPED
|
||||||
|
|
||||||
|
# Row 4
|
||||||
|
key 58 SHIFT_LEFT WAKE
|
||||||
|
key 30 A WAKE_DROPPED
|
||||||
|
key 31 S WAKE_DROPPED
|
||||||
|
key 32 D WAKE_DROPPED
|
||||||
|
key 33 F WAKE_DROPPED
|
||||||
|
key 34 G WAKE_DROPPED
|
||||||
|
key 35 H WAKE_DROPPED
|
||||||
|
key 36 J WAKE_DROPPED
|
||||||
|
key 37 K WAKE_DROPPED
|
||||||
|
key 38 L WAKE_DROPPED
|
||||||
|
key 28 DPAD_CENTER WAKE_DROPPED
|
||||||
|
key 109 DPAD_DOWN WAKE_DROPPED
|
||||||
|
|
||||||
|
# Row 5
|
||||||
|
key 183 SYM WAKE_DROPPED
|
||||||
|
key 44 Z WAKE_DROPPED
|
||||||
|
key 45 X WAKE_DROPPED
|
||||||
|
key 46 C WAKE_DROPPED
|
||||||
|
key 47 V WAKE_DROPPED
|
||||||
|
key 48 B WAKE_DROPPED
|
||||||
|
key 49 N WAKE_DROPPED
|
||||||
|
key 50 M WAKE_DROPPED
|
||||||
|
key 51 COMMA WAKE_DROPPED
|
||||||
|
key 52 PERIOD WAKE_DROPPED
|
||||||
|
key 103 DPAD_UP WAKE_DROPPED
|
||||||
|
key 107 ENDCALL WAKE_DROPPED
|
||||||
|
key 152 ENDCALL WAKE_DROPPED
|
||||||
|
|
||||||
|
# Row 6
|
||||||
|
key 42 SHIFT_LEFT WAKE_DROPPED
|
||||||
|
key 464 MENU WAKE_DROPPED
|
||||||
|
key 29 MENU WAKE_DROPPED
|
||||||
|
key 56 MENU WAKE_DROPPED
|
||||||
|
key 151 MENU WAKE_DROPPED
|
||||||
|
key 57 SPACE WAKE_DROPPED
|
||||||
|
key 111 DEL WAKE_DROPPED
|
||||||
|
key 54 SHIFT_RIGHT WAKE_DROPPED
|
||||||
|
key 105 DPAD_LEFT WAKE_DROPPED
|
||||||
|
key 108 DPAD_DOWN WAKE_DROPPED
|
||||||
|
key 106 DPAD_RIGHT WAKE_DROPPED
|
||||||
|
|
||||||
|
# Volume keys
|
||||||
|
key 115 VOLUME_UP WAKE_DROPPED
|
||||||
|
key 114 VOLUME_DOWN WAKE_DROPPED
|
||||||
|
|
||||||
|
# Numeric keypad
|
||||||
|
key 522 STAR WAKE_DROPPED
|
||||||
|
key 523 POUND WAKE_DROPPED
|
||||||
|
key 355 DEL WAKE_DROPPED
|
||||||
|
#L- Mapping
|
||||||
|
key 139 MENU WAKE
|
||||||
|
#SEND Key Mapping
|
||||||
|
key 231 CALL WAKE_DROPPED
|
||||||
|
# R+ Mapping
|
||||||
|
key 142 HOME WAKE_DROPPED
|
||||||
|
# Camera Keys
|
||||||
|
key 766 FOCUS
|
||||||
|
key 528 CAMERA
|
149
media/media_codecs.xml
Normal file
149
media/media_codecs.xml
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2012-2013 The Android Open Source Project
|
||||||
|
Copyright (C) 2012-2013 The Linux Foundation. All rights reserved.
|
||||||
|
Not a contribution.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
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.
|
||||||
|
-->
|
||||||
|
<CodecList>
|
||||||
|
<Encoders>
|
||||||
|
<!-- Audio Hardware -->
|
||||||
|
<MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm" />
|
||||||
|
<MediaCodec name="OMX.qcom.audio.encoder.evrc" type="audio/evrc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.flac.encoder" type="audio/flac"/>
|
||||||
|
<MediaCodec name="OMX.qcom.audio.encoder.qcelp13" type="audio/qcelp" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
</MediaCodec>
|
||||||
|
<!-- Audio Software -->
|
||||||
|
<MediaCodec name="AACEncoder" type="audio/mp4a-latm" />
|
||||||
|
<MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp" />
|
||||||
|
<MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb" />
|
||||||
|
<!-- Video Hardware -->
|
||||||
|
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="requires-loaded-to-idle-after-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="requires-loaded-to-idle-after-allocation"/>
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="requires-loaded-to-idle-after-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<!-- Video Software -->
|
||||||
|
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" />
|
||||||
|
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" />
|
||||||
|
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" />
|
||||||
|
</Encoders>
|
||||||
|
<Decoders>
|
||||||
|
<!-- Audio Hardware -->
|
||||||
|
<MediaCodec name="OMX.qcom.audio.decoder.wma" type="audio/x-ms-wma" >
|
||||||
|
<Quirk name="requires-global-flush" />
|
||||||
|
<Quirk name="requires-wma-pro-component" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.audio.decoder.wmaLossLess" type="audio/x-ms-wma" >
|
||||||
|
<Quirk name="requires-global-flush" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.audio.decoder.wma10Pro" type="audio/x-ms-wma" >
|
||||||
|
<Quirk name="requires-global-flush" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.audio.decoder.amrwbplus" type="audio/amr-wb-plus" >
|
||||||
|
</MediaCodec>
|
||||||
|
<!-- Audio Software -->
|
||||||
|
<MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis" />
|
||||||
|
<MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg" />
|
||||||
|
<MediaCodec name="MP3Decoder" type="audio/mpeg" />
|
||||||
|
<MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp" />
|
||||||
|
<MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb" />
|
||||||
|
<MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" />
|
||||||
|
<MediaCodec name="AACDecoder" type="audio/mp4a-latm" />
|
||||||
|
<MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw" />
|
||||||
|
<MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw" />
|
||||||
|
<MediaCodec name="OMX.qcom.audio.decoder.Qcelp13" type="audio/qcelp" >
|
||||||
|
<Quirk name="requires-global-flush" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.audio.decoder.evrc" type="audio/evrc" >
|
||||||
|
<Quirk name="requires-global-flush" />
|
||||||
|
</MediaCodec>
|
||||||
|
<!-- Video Hardware -->
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.vc1" type="video/x-ms-wmv" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.qcom.video.decoder.hevchybrid" type="video/hevc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="defers-output-buffer-allocation" />
|
||||||
|
</MediaCodec>
|
||||||
|
<!-- Video Software -->
|
||||||
|
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" />
|
||||||
|
<MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" />
|
||||||
|
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" />
|
||||||
|
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" />
|
||||||
|
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" />
|
||||||
|
</Decoders>
|
||||||
|
</CodecList>
|
108
msm8974.mk
Normal file
108
msm8974.mk
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
# Copyright (C) 2012 The CyanogenMod Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
# Permissions
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
|
||||||
|
frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
|
||||||
|
frameworks/base/nfc-extras/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \
|
||||||
|
frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
|
||||||
|
packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:system/etc/permissions/android.software.live_wallpaper.xml
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
audio_policy.msm8974 \
|
||||||
|
audio.primary.msm8974 \
|
||||||
|
audio.a2dp.default \
|
||||||
|
audio.usb.default \
|
||||||
|
audio.r_submix.default \
|
||||||
|
libaudio-resampler
|
||||||
|
|
||||||
|
# Camera Wrapper
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
camera.msm8974
|
||||||
|
|
||||||
|
# HAL
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
copybit.msm8974 \
|
||||||
|
gralloc.msm8974 \
|
||||||
|
hwcomposer.msm8974 \
|
||||||
|
power.msm8974 \
|
||||||
|
memtrack.msm8974
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
com.android.future.usb.accessory
|
||||||
|
|
||||||
|
# Live Wallpapers
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
LiveWallpapers \
|
||||||
|
LiveWallpapersPicker \
|
||||||
|
VisualizationWallpapers \
|
||||||
|
librs_jni
|
||||||
|
|
||||||
|
# Media Codecs
|
||||||
|
PRODUCT_COPY_FILES += device/samsung/msm8974-common/media/media_codecs.xml:system/etc/media_codecs.xml
|
||||||
|
|
||||||
|
# keylayouts
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/samsung/msm8974-common/keylayout/AVRCP.kl:system/usr/keylayout/AVRCP.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Generic.kl:system/usr/keylayout/Generic.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/cyttsp-i2c.kl:system/usr/keylayout/cyttsp-i2c.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/keypad_8960.kl:system/usr/keylayout/keypad_8960.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Vendor_045e_Product_028e.kl:system/usr/keylayout/Vendor_045e_Product_028e.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Vendor_046d_Product_c216.kl:system/usr/keylayout/Vendor_046d_Product_c216.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Vendor_046d_Product_c294.kl:system/usr/keylayout/Vendor_046d_Product_c294.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Vendor_046d_Product_c299.kl:system/usr/keylayout/Vendor_046d_Product_c299.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Vendor_046d_Product_c532.kl:system/usr/keylayout/Vendor_046d_Product_c532.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Vendor_04e8_Product_7021.kl:system/usr/keylayout/Vendor_04e8_Product_7021.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Vendor_054c_Product_0268.kl:system/usr/keylayout/Vendor_054c_Product_0268.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Vendor_05ac_Product_0239.kl:system/usr/keylayout/Vendor_05ac_Product_0239.kl \
|
||||||
|
device/samsung/msm8974-common/keylayout/Vendor_22b8_Product_093d.kl:system/usr/keylayout/Vendor_22b8_Product_093d.kl
|
||||||
|
|
||||||
|
# Keychars
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/samsung/msm8974-common/keychars/Generic.kcm:system/usr/keychars/Generic.kcm \
|
||||||
|
device/samsung/msm8974-common/keychars/Virtual.kcm:system/usr/keychars/Virtual.kcm
|
||||||
|
|
||||||
|
# Needed to reset bootmode when leaving recovery
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
$(LOCAL_PATH)/recovery/postrecoveryboot.sh:recovery/root/sbin/postrecoveryboot.sh \
|
||||||
|
$(LOCAL_PATH)/recovery/postrecoveryboot.sh:recovery/system/bin/postrecoveryboot.sh
|
||||||
|
|
||||||
|
# We have enough storage space to hold precise GC data
|
||||||
|
PRODUCT_TAGS += dalvik.gc.type-precise
|
||||||
|
|
||||||
|
# Common overlay
|
||||||
|
DEVICE_PACKAGE_OVERLAYS += device/samsung/msm8974-common/overlay
|
||||||
|
|
||||||
|
# common msm8974
|
||||||
|
$(call inherit-product, device/samsung/qcom-common/qcom-common.mk)
|
37
overlay/frameworks/base/core/res/res/values/arrays.xml
Normal file
37
overlay/frameworks/base/core/res/res/values/arrays.xml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/* //device/apps/common/assets/res/any/colors.xml
|
||||||
|
**
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** 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.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
|
||||||
|
<!-- Defines the shutdown options shown in the reboot dialog. -->
|
||||||
|
<array name="shutdown_reboot_options" translatable="false">
|
||||||
|
<item>@string/reboot_reboot</item>
|
||||||
|
<item>@string/reboot_recovery</item>
|
||||||
|
<item>@string/reboot_download</item>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<!-- Do not translate. Defines the shutdown actions passed to the kernel.
|
||||||
|
The first item should be empty for regular reboot. -->
|
||||||
|
<string-array name="shutdown_reboot_actions" translatable="false">
|
||||||
|
<item></item>
|
||||||
|
<item>recovery</item>
|
||||||
|
<item>download</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
</resources>
|
31
overlay/frameworks/base/core/res/res/values/config.xml
Normal file
31
overlay/frameworks/base/core/res/res/values/config.xml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2012, The CyanogenMod Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** 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.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- These resources are around just to allow their values to be customized
|
||||||
|
for different hardware and product builds. -->
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<!-- Our amoled doesn't animate well. needed for crt effect -->
|
||||||
|
<bool name="config_animateScreenLights">false</bool>
|
||||||
|
|
||||||
|
<!-- Flag indicating whether we should enable the automatic brightness in Settings.
|
||||||
|
config_hardware_automatic_brightness_available is not set, so we will use software implementation -->
|
||||||
|
<bool name="config_automatic_brightness_available">true</bool>
|
||||||
|
|
||||||
|
</resources>
|
25
overlay/frameworks/base/core/res/res/values/strings.xml
Normal file
25
overlay/frameworks/base/core/res/res/values/strings.xml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/* //device/apps/common/assets/res/any/strings.xml
|
||||||
|
**
|
||||||
|
** Copyright (c) 2013, The Linux Foundation. All rights reserved.
|
||||||
|
** Not a Contribution.
|
||||||
|
**
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** 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.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<string name="roamingText3">Network Extender</string>
|
||||||
|
</resources>
|
72
overlay/packages/apps/Mms/res/xml/mms_config.xml
Normal file
72
overlay/packages/apps/Mms/res/xml/mms_config.xml
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright 2013 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Version History
|
||||||
|
version 1 - initial version.
|
||||||
|
version 2 - added recipientLimit.
|
||||||
|
version 3 - added min/max recycler values.
|
||||||
|
version 4 - added sms to mms text threshold.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<mms_config version="4">
|
||||||
|
<!-- Flag indicating whether MMS should be enabled -->
|
||||||
|
<bool name="enabledMMS">true</bool>
|
||||||
|
|
||||||
|
<!-- Maximum message size in bytes for a MMS message -->
|
||||||
|
<int name="maxMessageSize">307200</int>
|
||||||
|
|
||||||
|
<!-- Maximum height for an attached image -->
|
||||||
|
<int name="maxImageHeight">1944</int>
|
||||||
|
|
||||||
|
<!-- Maximum width for an attached image -->
|
||||||
|
<int name="maxImageWidth">2592</int>
|
||||||
|
|
||||||
|
<!-- Maximum number of SMS message to save per thread before auto-delete kicks in.
|
||||||
|
This is the default value. -->
|
||||||
|
<int name="defaultSMSMessagesPerThread">10000</int>
|
||||||
|
|
||||||
|
<!-- Maximum number of MMS message to save per thread before auto-delete kicks in.
|
||||||
|
This is the default value. -->
|
||||||
|
<int name="defaultMMSMessagesPerThread">1000</int>
|
||||||
|
|
||||||
|
<!-- Minimum value for the number of messages kept per conversation. The user can never
|
||||||
|
set the limit below this value. -->
|
||||||
|
<int name="minMessageCountPerThread">10</int>
|
||||||
|
|
||||||
|
<!-- Maximum value for the number of messages kept per conversation. The user can never
|
||||||
|
set the limit above this value. -->
|
||||||
|
<int name="maxMessageCountPerThread">5000</int>
|
||||||
|
|
||||||
|
<!-- UAProf URL -->
|
||||||
|
<string name="uaProfUrl">http://gsm.lge.com/html/gsm/Nexus5-M3.xml</string>
|
||||||
|
|
||||||
|
<!-- Maximum number of recipients allowed per message. Use a value of -1
|
||||||
|
to indicate no limit. -->
|
||||||
|
<int name="recipientLimit">-1</int>
|
||||||
|
|
||||||
|
<!-- If true, The mms support slide duration.
|
||||||
|
If false, The mms does not support slide duration and we have to
|
||||||
|
set duration value. -->
|
||||||
|
<bool name="enableSlideDuration">true</bool>
|
||||||
|
|
||||||
|
<!-- Maximum length for message text. Use a value of -1
|
||||||
|
to indicate default value -->
|
||||||
|
<int name="maxMessageTextSize">-1</int>
|
||||||
|
|
||||||
|
<!-- User-Agent parameter used in MMS http request -->
|
||||||
|
<string name="userAgent">Nexus5</string>
|
||||||
|
|
||||||
|
</mms_config>
|
@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2007 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- Mobile network settings, network mode choices for a device supporting CDMA and LTE [CHAR LIMIT=25] -->
|
||||||
|
<string-array name="preferred_network_mode_choices_cm">
|
||||||
|
<item>LTE only</item>
|
||||||
|
<item>LTE/CDMA/EvDo/GSM/WCDMA</item>
|
||||||
|
<item>LTE/GSM/WCDMA</item>
|
||||||
|
<item>LTE/CDMA/EvDo</item>
|
||||||
|
<item>CDMA/EvDo auto</item>
|
||||||
|
<item>GSM/WCDMA auto</item>
|
||||||
|
<item>WCDMA only</item>
|
||||||
|
<item>GSM only</item>
|
||||||
|
<item>GSM/WCDMA preferred</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="preferred_network_mode_choices">
|
||||||
|
<item>LTE only</item>
|
||||||
|
<item>LTE/CDMA/EvDo/GSM/WCDMA</item>
|
||||||
|
<item>LTE/GSM/WCDMA</item>
|
||||||
|
<item>LTE/CDMA/EvDo</item>
|
||||||
|
<item>CDMA/EvDo auto</item>
|
||||||
|
<item>GSM/WCDMA auto</item>
|
||||||
|
<item>WCDMA only</item>
|
||||||
|
<item>GSM only</item>
|
||||||
|
<item>GSM/WCDMA preferred</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="preferred_network_mode_values" translatable="false">
|
||||||
|
<item>"11"</item>
|
||||||
|
<item>"10"</item>
|
||||||
|
<item>"9"</item>
|
||||||
|
<item>"8"</item>
|
||||||
|
<item>"4"</item>
|
||||||
|
<item>"3"</item>
|
||||||
|
<item>"2"</item>
|
||||||
|
<item>"1"</item>
|
||||||
|
<item>"0"</item>
|
||||||
|
</string-array>
|
||||||
|
</resources>
|
11
recovery/postrecoveryboot.sh
Normal file
11
recovery/postrecoveryboot.sh
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#!/sbin/sh
|
||||||
|
|
||||||
|
# The partition to use is named "PARAM" and can be found by dumping the PIT.
|
||||||
|
|
||||||
|
# 0: charge
|
||||||
|
# 1: direct
|
||||||
|
# 2: recovery_enter
|
||||||
|
# 3: recovery_end
|
||||||
|
# 4: download_end
|
||||||
|
|
||||||
|
echo -n -e '\x03\x00\x00\x00' > /dev/block/platform/msm_sdcc.1/by-name/param
|
3
sepolicy/app.te
Normal file
3
sepolicy/app.te
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Grant GPU access to all processes started by Zygote.
|
||||||
|
# They need that to render the standard UI.
|
||||||
|
allow appdomain gpu_device:chr_file rw_file_perms;
|
1
sepolicy/bluetooth.te
Normal file
1
sepolicy/bluetooth.te
Normal file
@ -0,0 +1 @@
|
|||||||
|
allow bluetooth smd_device:chr_file rw_file_perms;
|
17
sepolicy/device.te
Normal file
17
sepolicy/device.te
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# GPU (used by most UI apps)
|
||||||
|
type gpu_device, dev_type;
|
||||||
|
|
||||||
|
# Qualcomm Secure Execution Environment Communicator (QSEECOM) device
|
||||||
|
type qseecom_device, dev_type;
|
||||||
|
|
||||||
|
type diag_device, dev_type;
|
||||||
|
type bcm2079x_device, dev_type;
|
||||||
|
|
||||||
|
# Qualcomm MSM Audio ACDB device
|
||||||
|
type msm_acdb_device, dev_type;
|
||||||
|
|
||||||
|
# Kickstart device used by QC qcks
|
||||||
|
type kickstart_device, dev_type;
|
||||||
|
|
||||||
|
# SMD device, used by hci_qcomm_init
|
||||||
|
type smd_device, dev_type;
|
1
sepolicy/domain.te
Normal file
1
sepolicy/domain.te
Normal file
@ -0,0 +1 @@
|
|||||||
|
allow domain init_tmpfs:file read;
|
3
sepolicy/drmserver.te
Normal file
3
sepolicy/drmserver.te
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Grant DRM Service access to Qualcomm Secure Execution Environment Communicator (QSEECOM) device
|
||||||
|
allow drmserver qseecom_device:chr_file rw_file_perms;
|
||||||
|
allow drmserver sdcard_external:file open;
|
11
sepolicy/file.te
Normal file
11
sepolicy/file.te
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Qualcomm MSM Interface (QMI) socket types
|
||||||
|
type qmux_audio_socket, file_type;
|
||||||
|
type qmux_bluetooth_socket, file_type;
|
||||||
|
type qmux_gps_socket, file_type;
|
||||||
|
type qmux_radio_socket, file_type;
|
||||||
|
|
||||||
|
type firmware_file, fs_type;
|
||||||
|
|
||||||
|
allow efs_file rootfs:filesystem associate;
|
||||||
|
allow cache_file rootfs:filesystem associate;
|
||||||
|
allow asec_apk_file rootfs:filesystem associate;
|
33
sepolicy/file_contexts
Normal file
33
sepolicy/file_contexts
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# GPU device
|
||||||
|
/dev/kgsl-3d0 u:object_r:gpu_device:s0
|
||||||
|
/dev/msm_rotator u:object_r:gpu_device:s0
|
||||||
|
|
||||||
|
# Qualcomm Secure Execution Environment Communicator (QSEECOM) device
|
||||||
|
/dev/qseecom u:object_r:qseecom_device:s0
|
||||||
|
|
||||||
|
# Qualcomm MSM Interface (QMI) devices
|
||||||
|
/dev/socket/qmux_audio/* u:object_r:qmux_audio_socket:s0
|
||||||
|
/dev/socket/qmux_bluetooth/* u:object_r:qmux_bluetooth_socket:s0
|
||||||
|
/dev/socket/qmux_gps/* u:object_r:qmux_gps_socket:s0
|
||||||
|
/dev/socket/qmux_radio/* u:object_r:qmux_radio_socket:s0
|
||||||
|
|
||||||
|
/dev/bcm2079x-i2c u:object_r:bcm2079x_device:s0
|
||||||
|
/dev/diag u:object_r:diag_device:s0
|
||||||
|
/dev/media([0-9])+ u:object_r:camera_device:s0
|
||||||
|
/dev/smd([0-9])+ u:object_r:smd_device:s0
|
||||||
|
/dev/mdm u:object_r:radio_device:s0
|
||||||
|
|
||||||
|
# Qualcomm MSM Audio ACDB device
|
||||||
|
/dev/msm_acdb u:object_r:msm_acdb_device:s0
|
||||||
|
|
||||||
|
/dev/ks_hsic_bridge u:object_r:kickstart_device:s0
|
||||||
|
/dev/efs_hsic_bridge u:object_r:kickstart_device:s0
|
||||||
|
|
||||||
|
/system/bin/qcks u:object_r:kickstart_exec:s0
|
||||||
|
/system/bin/efsks u:object_r:kickstart_exec:s0
|
||||||
|
/system/bin/ks u:object_r:kickstart_exec:s0
|
||||||
|
|
||||||
|
/data/nfc(/.*)? u:object_r:nfc_data_file:s0
|
||||||
|
|
||||||
|
/system/bin/hci_qcomm_init u:object_r:hci_exec:s0
|
||||||
|
/system/bin/bdAddrLoader u:object_r:hci_exec:s0
|
6
sepolicy/hci_init.te
Normal file
6
sepolicy/hci_init.te
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
type hci_init, domain;
|
||||||
|
permissive hci_init;
|
||||||
|
type hci_exec, file_type, exec_type;
|
||||||
|
type hci_data_file, file_type;
|
||||||
|
domain_auto_trans(shell, hci_exec, hci_init)
|
||||||
|
unconfined_domain(hci_init)
|
1
sepolicy/healthd.te
Normal file
1
sepolicy/healthd.te
Normal file
@ -0,0 +1 @@
|
|||||||
|
allow healthd rootfs:file entrypoint;
|
1
sepolicy/init.te
Normal file
1
sepolicy/init.te
Normal file
@ -0,0 +1 @@
|
|||||||
|
allow init wpa_socket:unix_dgram_socket { bind create };
|
6
sepolicy/init_shell.te
Normal file
6
sepolicy/init_shell.te
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
allow init_shell diag_device:chr_file { read write };
|
||||||
|
allow init_shell hci_exec:file rx_file_perms;
|
||||||
|
allow init_shell bluetooth_prop:property_service set;
|
||||||
|
allow init_shell smd_device:chr_file rw_file_perms;
|
||||||
|
allow init_shell unlabeled:file r_file_perms;
|
||||||
|
allow init_shell init:fifo_file r_file_perms;
|
3
sepolicy/keystore.te
Normal file
3
sepolicy/keystore.te
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Grant keystore daemon access to Qualcomm Secure Execution Environment Communicator (QSEECOM) device
|
||||||
|
allow keystore qseecom_device:chr_file rw_file_perms;
|
||||||
|
|
5
sepolicy/kickstart.te
Normal file
5
sepolicy/kickstart.te
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
type kickstart, domain;
|
||||||
|
permissive kickstart;
|
||||||
|
type kickstart_exec, file_type, exec_type;
|
||||||
|
domain_auto_trans(init, kickstart_exec, kickstart)
|
||||||
|
unconfined_domain(kickstart)
|
13
sepolicy/mediaserver.te
Normal file
13
sepolicy/mediaserver.te
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Grant access to Qualcomm MSM Audio ACDB device to mediaserver
|
||||||
|
allow mediaserver msm_acdb_device:chr_file rw_file_perms;
|
||||||
|
|
||||||
|
# Grant access to Qualcomm MSM Interface (QMI) audio sockets to mediaserver
|
||||||
|
allow mediaserver qmux_audio_socket:sock_file create_file_perms;
|
||||||
|
allow mediaserver qmux_audio_socket:dir rw_dir_perms;
|
||||||
|
|
||||||
|
# Permit mediaserver to create sockets
|
||||||
|
allow mediaserver self:socket create;
|
||||||
|
|
||||||
|
# Grant access to audio firmware files to mediaserver
|
||||||
|
allow mediaserver audio_firmware_file:dir ra_dir_perms;
|
||||||
|
allow mediaserver audio_firmware_file:file create_file_perms;
|
1
sepolicy/nfc.te
Normal file
1
sepolicy/nfc.te
Normal file
@ -0,0 +1 @@
|
|||||||
|
allow nfc bcm2079x_device:chr_file rw_file_perms;
|
5
sepolicy/rild.te
Normal file
5
sepolicy/rild.te
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
allow rild diag_device:chr_file rw_file_perms;
|
||||||
|
|
||||||
|
# Grant access to Qualcomm MSM Interface (QMI) radio sockets to RILD
|
||||||
|
allow rild qmux_radio_socket:sock_file create_file_perms;
|
||||||
|
allow rild qmux_radio_socket:dir rw_dir_perms;
|
9
sepolicy/surfaceflinger.te
Normal file
9
sepolicy/surfaceflinger.te
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Grant GPU access to SurfaceFlinger
|
||||||
|
allow surfaceflinger gpu_device:chr_file rw_file_perms;
|
||||||
|
|
||||||
|
allow surfaceflinger sysfs:file rw_file_perms;
|
||||||
|
|
||||||
|
# Read from /data/local/tmp
|
||||||
|
allow surfaceflinger shell_data_file:dir search;
|
||||||
|
allow surfaceflinger shell_data_file:file { open getattr read };
|
||||||
|
allow surfaceflinger shell_data_file:lnk_file read;
|
10
sepolicy/system.te
Normal file
10
sepolicy/system.te
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Grant GPU access to system apps (e.g., PowerManagerService)
|
||||||
|
allow system gpu_device:chr_file rw_file_perms;
|
||||||
|
allow system diag_device:chr_file rw_file_perms;
|
||||||
|
|
||||||
|
# Grant access to Qualcomm MSM Interface (QMI) radio sockets to system apps
|
||||||
|
# (e.g., LocationManager)
|
||||||
|
allow system qmux_radio_socket:sock_file create_file_perms;
|
||||||
|
allow system qmux_radio_socket:dir rw_dir_perms;
|
||||||
|
|
||||||
|
allow system wpa_socket:unix_dgram_socket sendto;
|
6
sepolicy/ueventd.te
Normal file
6
sepolicy/ueventd.te
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
allow ueventd sdcard_external:dir search;
|
||||||
|
allow ueventd sdcard_external:file r_file_perms;
|
||||||
|
allow ueventd wifi_data_file:dir search;
|
||||||
|
allow ueventd wifi_data_file:file r_file_perms;
|
||||||
|
allow ueventd firmware_file:dir r_dir_perms;
|
||||||
|
allow ueventd firmware_file:file r_file_perms;
|
2
sepolicy/wpa.te
Normal file
2
sepolicy/wpa.te
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
allow wpa devpts:chr_file rw_file_perms;
|
||||||
|
allow wpa wpa_socket:unix_dgram_socket { read write };
|
1
sepolicy/wpa_socket.te
Normal file
1
sepolicy/wpa_socket.te
Normal file
@ -0,0 +1 @@
|
|||||||
|
allow wpa_socket system:unix_dgram_socket sendto;
|
Loading…
Reference in New Issue
Block a user