diff options
author | Daniel Hillenbrand <daniel.hillenbrand@codeworkx.de> | 2012-06-22 23:55:37 +0200 |
---|---|---|
committer | Daniel Hillenbrand <daniel.hillenbrand@codeworkx.de> | 2012-06-24 07:54:53 +0200 |
commit | ea1000f433ad82d5e66156a9399fecb404c578af (patch) | |
tree | fc021306f4cff281517aa83aff82eee03d4aacf6 | |
download | device_samsung_espressowifi-ea1000f433ad82d5e66156a9399fecb404c578af.zip device_samsung_espressowifi-ea1000f433ad82d5e66156a9399fecb404c578af.tar.gz device_samsung_espressowifi-ea1000f433ad82d5e66156a9399fecb404c578af.tar.bz2 |
initial commit
65 files changed, 8573 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..64bb136 --- /dev/null +++ b/Android.mk @@ -0,0 +1,29 @@ +# +# 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. +# + +# 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 ($(TARGET_DEVICE),p3100) + +include $(call all-makefiles-under,$(LOCAL_PATH)) + +endif diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..64c3d35 --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,18 @@ +# +# 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. +# + +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/full_p3100.mk diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..1c781d9 --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,27 @@ +# +# 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. +# + +# Include p31xx BoardConfigCommon +-include device/samsung/p3100/BoardConfigCommon.mk + +TARGET_BOARD_INFO_FILE := device/samsung/p3100/board-info.txt + +# Inline kernel building +TARGET_KERNEL_SOURCE := kernel/samsung/espresso10 +TARGET_KERNEL_CONFIG := cyanogenmod_p3100_defconfig + +# assert +TARGET_OTA_ASSERT_DEVICE := p3100,GT-P3100,espressorf,espressorfxx diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk new file mode 100644 index 0000000..7c26b00 --- /dev/null +++ b/BoardConfigCommon.mk @@ -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. +# + +# This variable is set first, so it can be overridden +# by BoardConfigVendor.mk +USE_CAMERA_STUB := true + +TARGET_CPU_ABI := armeabi-v7a +TARGET_CPU_ABI2 := armeabi +TARGET_CPU_SMP := true +TARGET_ARCH_VARIANT := armv7-a-neon +ARCH_ARM_HAVE_TLS_REGISTER := true +TARGET_GLOBAL_CFLAGS += -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp +TARGET_GLOBAL_CPPFLAGS += -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp + +TARGET_NO_BOOTLOADER := true +TARGET_NO_RADIOIMAGE := true + +TARGET_BOARD_PLATFORM := omap4 +TARGET_BOOTLOADER_BOARD_NAME := piranha + +BOARD_NAND_PAGE_SIZE := 4096 +BOARD_NAND_SPARE_SIZE := 128 +BOARD_KERNEL_PAGESIZE := 4096 +BOARD_KERNEL_BASE := 0x40000000 +BOARD_KERNEL_CMDLINE := + +# Init +TARGET_PROVIDES_INIT := true +TARGET_PROVIDES_INIT_TARGET_RC := true + +# Filesystem +TARGET_USERIMAGES_USE_EXT4 := true +BOARD_BOOTIMAGE_PARTITION_SIZE := 8388608 +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824 +BOARD_USERDATAIMAGE_PARTITION_SIZE := 2147483648 +BOARD_FLASH_BLOCK_SIZE := 4096 + +# Egl +BOARD_EGL_CFG := device/samsung/p3100/configs/egl.cfg +USE_OPENGL_RENDERER := true +COMMON_GLOBAL_CFLAGS += -DSURFACEFLINGER_FORCE_SCREEN_RELEASE +TARGET_BOOTANIMATION_PRELOAD := true + +# Audio +BOARD_USE_SAMSUNG_SEPARATEDSTREAM := true +BOARD_USES_LIBMEDIA_WITH_AUDIOPARAMETER := true + +# HWComposer +BOARD_USES_HWCOMPOSER := true + +# Vold +BOARD_VOLD_MAX_PARTITIONS := 12 +BOARD_VOLD_EMMC_SHARES_DEV_MAJOR := true +BOARD_VOLD_DISC_HAS_MULTIPLE_MAJORS := true +TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/class/android_usb/f_mass_storage/lun%d/file" + +# Wifi +BOARD_WLAN_DEVICE := bcmdhd +BOARD_WLAN_DEVICE_REV := bcm4330_b1 +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 +WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/dhd.ko" +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" +WIFI_DRIVER_FW_PATH_P2P := "/system/etc/wifi/bcmdhd_p2p.bin" +WIFI_DRIVER_MODULE_NAME := "dhd" +WIFI_DRIVER_MODULE_ARG := "iface_name=wlan0 firmware_path=/system/etc/wifi/bcmdhd_sta.bin nvram_path=/system/etc/wifi/nvram_net.txt" +WIFI_BAND := 802_11_ABG + +# Bluetooth +BOARD_HAVE_BLUETOOTH := true +BOARD_HAVE_BLUETOOTH_BCM := true + +# Security +BOARD_USES_SECURE_SERVICES := true + +# Recovery +TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" +BOARD_UMS_LUNFILE := "/sys/class/android_usb/f_mass_storage/lun0/file" +BOARD_USES_MMCUTILS := true +BOARD_HAS_NO_MISC_PARTITION := true +BOARD_HAS_NO_SELECT_BUTTON := true + +# Charging mode +BOARD_CHARGER_RES := device/samsung/p3100/res/charger + +TARGET_SPECIFIC_HEADER_PATH := device/samsung/p3100/overlay/include + +# Use the non-open-source parts, if they're present +-include vendor/samsung/p31xx/BoardConfigVendor.mk diff --git a/CleanSpec.mk b/CleanSpec.mk new file mode 100644 index 0000000..d12bff3 --- /dev/null +++ b/CleanSpec.mk @@ -0,0 +1,60 @@ +# 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. +# + +# If you don't need to do a full clean build but would like to touch +# a file or delete some intermediate files, add a clean step to the end +# of the list. These steps will only be run once, if they haven't been +# run before. +# +# E.g.: +# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) +# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) +# +# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with +# files that are missing or have been moved. +# +# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. +# Use $(OUT_DIR) to refer to the "out" directory. +# +# If you need to re-do something that's already mentioned, just copy +# the command and add it to the bottom of the list. E.g., if a change +# that you made last week required touching a file and a change you +# made today requires touching the same file, just copy the old +# touch step and add it to the end of the list. +# +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ + +# For example: +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) +#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) +#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) +$(call add-clean-step, find $(PRODUCT_OUT) -name "*.apk" | xargs rm) + +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ +$(call add-clean-step, rm -rf $(TARGET_OUT)/build.prop) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/SHARED_LIBRARIES/libaudio_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/SHARED_LIBRARIES/libaudio_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/STATIC_LIBRARIES/libasound_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/EXECUTABLES/alsa_*) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/system/bin/alsa_*) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/system/etc/asound.conf) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/system/usr/share/alsa) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/PACKAGING/systemimage_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/SHARED_LIBRARIES/libaudio_intermediates) diff --git a/board-info.txt b/board-info.txt new file mode 100644 index 0000000..5854e25 --- /dev/null +++ b/board-info.txt @@ -0,0 +1,3 @@ +require board=espresso +require version-bootloader=P3100XWALE2 +require version-baseband=P3100XWALE2 diff --git a/cm.dependencies b/cm.dependencies new file mode 100644 index 0000000..1b9a2f3 --- /dev/null +++ b/cm.dependencies @@ -0,0 +1,10 @@ +[ + { + "repository": "android_kernel_samsung_espresso10", + "target_path": "kernel/samsung/espresso10" + }, + { + "repository": "android_packages_apps_SamsungServiceMode", + "target_path": "packages/apps/SamsungServiceMode" + } +] @@ -0,0 +1,40 @@ +# +# 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. +# + +## Specify phone tech before including full_phone +$(call inherit-product, vendor/cm/config/gsm.mk) + +# Release name +PRODUCT_RELEASE_NAME := p3100 + +# Boot animation +TARGET_BOOTANIMATION_NAME := horizontal-1024x600 + +# Inherit some common CM stuff. +$(call inherit-product, vendor/cm/config/common_full_phone.mk) + +# Inherit device configuration +$(call inherit-product, device/samsung/p3100/full_p3100.mk) + +## Device identifier. This must come after all inclusions +PRODUCT_DEVICE := p3100 +PRODUCT_NAME := cm_p3100 +PRODUCT_BRAND := samsung +PRODUCT_MODEL := GT-P3100 +PRODUCT_MANUFACTURER := samsung + +#Set build fingerprint / ID / Prduct Name ect. +PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=espressorfxx TARGET_DEVICE=espressorf BUILD_FINGERPRINT=samsung/espressorfxx/espressorf:4.0.3/IML74K/P3100XWALE2:user/release-keys PRIVATE_BUILD_DESC="espressorfxx-user 4.0.3 IML74K P3100XWALE2 release-keys" diff --git a/configs/Volume.db b/configs/Volume.db Binary files differnew file mode 100644 index 0000000..cd27537 --- /dev/null +++ b/configs/Volume.db diff --git a/configs/default_gain.conf b/configs/default_gain.conf new file mode 100644 index 0000000..5a82649 --- /dev/null +++ b/configs/default_gain.conf @@ -0,0 +1,1817 @@ +#Output Modifier Stage +#Normal, Incall, Ringtone, Incommunication + +#Modifier: Normal + +Modifier "Normal" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 6 }, + { "Speaker Volume", 59 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 57 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "Normal" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 50 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Normal" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 50 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Normal" { + SupportedDevice { + "SCO Headset Out" + } + Enable { + } + Disable { + } +} + +Modifier "Normal" { + SupportedDevice { + "SCO Carkit" + } + Enable { + } + Disable { + } +} + +Modifier "Normal" { + SupportedDevice { + "SCO" + } + Enable { + } + Disable { + } +} + +Modifier "Normal" { + SupportedDevice { + "Analogue Dock Out" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 56 }, + { "LINEOUT1 Volume", 1 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 57 }, + { "LINEOUT1 Volume", 1 }, + } +} + +#Modifier : Incall +Modifier "Incall" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 0 }, + { "AIF2DAC2R Mixer AIF2 Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 6 }, + { "Speaker Volume", 60 }, + } + Disable { + { "AIF2DAC Volume", 96 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 0 }, + { "SPKR DAC1 Volume", 0 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 60 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "Incall" { + SupportedDevice { + "Headset Out" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 0 }, + { "AIF2DAC2R Mixer AIF2 Switch", 0 }, + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 60 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 52 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 60 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Incall" { + SupportedDevice { + "Headphone" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 0 }, + { "AIF2DAC2R Mixer AIF2 Switch", 0 }, + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 60 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 60 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Incall" { + SupportedDevice { + "SCO Headset Out" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 1 }, + { "AIF2DAC2R Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "Incall" { + SupportedDevice { + "SCO Carkit" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 1 }, + { "AIF2DAC2R Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "Incall" { + SupportedDevice { + "SCO" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 1 }, + { "AIF2DAC2R Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +#Modifier: Ringtone +Modifier "Ringtone" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 5 }, + { "Speaker Volume", 63 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 57 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "Ringtone" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 50 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 0 }, + } +} + +Modifier "Ringtone" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 50 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Headphone Volume", 0 }, + } +} + +Modifier "Ringtone" { + SupportedDevice { + "SCO" + } + Enable { + } + Disable { + } +} + +Modifier "Ringtone" { + SupportedDevice { + "Analogue Dock Out" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 57 }, + { "LINEOUT1 Volume", 1 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 57 }, + { "LINEOUT1 Volume", 1 }, + } +} + +Modifier "Dual Normal" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 5 }, + { "Speaker Volume", 60 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 57 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "Dual Normal" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 27 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 51 }, + } +} + +Modifier "Dual Normal" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 27 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Dual Ringtone" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 5 }, + { "Speaker Volume", 60 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 57 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "Dual Ringtone" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 27 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 51 }, + } +} + +Modifier "Dual Ringtone" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 27 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Incommunication" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 6 }, + { "Speaker Volume", 62 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 57 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "Incommunication" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Incommunication" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Incommunication" { + SupportedDevice { + "SCO Headset Out" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "Incommunication" { + SupportedDevice { + "SCO Carkit" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "Incommunication" { + SupportedDevice { + "SCO" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "Incommunication" { + SupportedDevice { + "Analogue Dock Out" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 57 }, + { "LINEOUT1 Volume", 1 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 57 }, + { "LINEOUT1 Volume", 1 }, + } +} + +Modifier "Voipout" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 6 }, + { "Speaker Volume", 62 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 57 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "Voipout" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Voipout" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Voipout" { + SupportedDevice { + "SCO" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "Voipout" { + SupportedDevice { + "Analogue Dock Out" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 57 }, + { "LINEOUT1 Volume", 1 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 57 }, + { "LINEOUT1 Volume", 1 }, + } +} + +Modifier "SecVoipout" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 6 }, + { "Speaker Volume", 62 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 57 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "SecVoipout" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "SecVoipout" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "SecVoipout" { + SupportedDevice { + "SCO" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "SecVoipout" { + SupportedDevice { + "Analogue Dock Out" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 57 }, + { "LINEOUT1 Volume", 1 }, + } + Disable { + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Left Output Mixer DAC Volume", 7 }, + { "Right Output Mixer DAC Volume", 7 }, + { "Output Volume", 57 }, + { "LINEOUT1 Volume", 1 }, + } +} + +#Modifier : Loopback +Modifier "Loopback" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 6 }, + { "Speaker Volume", 50 }, + } + Disable { + { "AIF2DAC Volume", 96 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 0 }, + { "SPKR DAC1 Volume", 0 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 50 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "Loopback" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Loopback" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +#Modifier : LoopbackPacket +Modifier "LoopbackPacket" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 1 }, + { "SPKR DAC1 Volume", 1 }, + { "Speaker Mixer Volume", 3 }, + { "Speaker Boost Volume", 6 }, + { "Speaker Volume", 50 }, + } + Disable { + { "AIF2DAC Volume", 96 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "SPKL DAC1 Volume", 0 }, + { "SPKR DAC1 Volume", 0 }, + { "Speaker Mixer Volume", 0 }, + { "Speaker Volume", 50 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "LoopbackPacket" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "LoopbackPacket" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +#INPUT Modifier Stage +#Voice, Camcorder, Recognition, Communication, + +Modifier "Voice" { + SupportedDevice { + "Builtin Mic" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 30 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 120 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 30 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 120 }, + } +} + +Modifier "Voice" { + SupportedDevice { + "Headset In" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1R Volume", 18 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 118 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Voice" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } +} + +Modifier "Camcorder" { + SupportedDevice { + "Builtin Mic" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 17 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 120 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Camcorder" { + SupportedDevice { + "Headset In" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1R Volume", 30 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 118 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Camcorder" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } +} + +Modifier "Recognition" { + SupportedDevice { + "Builtin Mic" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 30 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 118 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 112 }, + } +} + +Modifier "Recognition" { + SupportedDevice { + "Headset In" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1R Volume", 18 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 118 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Recognition" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } +} + +Modifier "Communication" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 17 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Communication" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 1 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Communication" { + SupportedDevice { + "Headset In" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 1 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Communication" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Voipin" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 31 }, + { "MIXINL IN1L Volume", 1 }, + { "AIF1ADC1 Volume", 81 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Voipin" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 1 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Voipin" { + SupportedDevice { + "Headset In" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 1 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Voipin" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "SecVoipin" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 31 }, + { "MIXINL IN1L Volume", 1 }, + { "AIF1ADC1 Volume", 90 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "SecVoipin" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 1 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "SecVoipin" { + SupportedDevice { + "Headset In" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 1 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "SecVoipin" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +#Incall-Capture Modifier +Modifier "IncallIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "IN1L Volume", 28 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "IncallIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "IN1L Volume", 17 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "IncallIn" { + SupportedDevice { + "Back Mic" + } + Enable { + { "IN2R Volume", 11 }, + { "MIXINR IN2R Volume", 1 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN2R Volume", 11 }, + { "MIXINR IN2R Volume", 0 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "IncallIn" { + SupportedDevice { + "Headset In" + } + Enable { +// { "Sidetone HPF Mux", 3 }, +// { "Sidetone HPF Switch", 1 }, + { "IN1R Volume", 9 }, + { "MIXINR IN1R Volume", 1 }, + { "MIXINR IN1RP Volume", 1 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { +// { "Sidetone HPF Mux", 0 }, +// { "Sidetone HPF Switch", 0 }, + { "IN1R Volume", 9 }, + { "MIXINR IN1R Volume", 0 }, + { "MIXINR IN1RP Volume", 0 }, + { "DAC2 Right Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "IncallIn" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 0 }, + { "AIF1ADC1L Mixer AIF2 Switch", 0 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } +} + +#LoopbackIn-Capture Modifier +Modifier "LoopbackIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headset Out" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackIn" { + SupportedDevice { + "Headset In" + } + Enable { +// { "Sidetone HPF Mux", 3 }, +// { "Sidetone HPF Switch", 1 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 1 }, + { "MIXINR IN1RP Volume", 1 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { +// { "Sidetone HPF Mux", 0 }, +// { "Sidetone HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "MIXINR IN1RP Volume", 0 }, + { "DAC2 Right Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +#LoopbackPacketIn-Capture Modifier +Modifier "LoopbackPacketIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackPacketIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackPacketIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headset Out" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackPacketIn" { + SupportedDevice { + "Headset In" + } + Enable { +// { "Sidetone HPF Mux", 3 }, +// { "Sidetone HPF Switch", 1 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 1 }, + { "MIXINR IN1RP Volume", 1 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { +// { "Sidetone HPF Mux", 0 }, +// { "Sidetone HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "MIXINR IN1RP Volume", 0 }, + { "DAC2 Right Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +#Special Modifier for voicecall recording, not gain +Modifier "MicRec" { + Enable { + { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 }, +// { "AIF1ADC1R Mixer AIF2 Switch", 0 }, +// { "AIF1ADC1L Mixer AIF2 Switch", 0 }, + } + Disable { + { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer AIF2 Switch", 0 }, + { "AIF1ADC1L Mixer AIF2 Switch", 0 }, + } +} + +Modifier "Downlink" { + Enable { + { "AIF1ADC1L Mixer ADC/DMIC Switch", 0 }, + { "AIF1ADC1R Mixer ADC/DMIC Switch", 0 }, + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } + Disable { + { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer AIF2 Switch", 0 }, + { "AIF1ADC1L Mixer AIF2 Switch", 0 }, + } +} + +Modifier "Uplink" { + Enable { + { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer AIF2 Switch", 0 }, + { "AIF1ADC1L Mixer AIF2 Switch", 0 }, + } + Disable { + { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer AIF2 Switch", 0 }, + { "AIF1ADC1L Mixer AIF2 Switch", 0 }, + } +} + +Modifier "VoicecallRec" { + Enable { + { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } + Disable { + { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 }, + { "AIF1ADC1R Mixer AIF2 Switch", 0 }, + { "AIF1ADC1L Mixer AIF2 Switch", 0 }, + } +} + +Modifier "Audio_GND_Switch" { + Enable { + { "HP Output Mode", 0}, + } + Disable { + { "HP Output Mode", 1}, + } +} + +Modifier "Audio_PM_Const" { + Enable { + { "PM Constraints Mode", 1}, + } + Disable { + { "PM Constraints Mode", 0}, + } +}
\ No newline at end of file diff --git a/configs/egl.cfg b/configs/egl.cfg new file mode 100644 index 0000000..3e1a8c6 --- /dev/null +++ b/configs/egl.cfg @@ -0,0 +1 @@ +0 1 POWERVR_SGX540_120 diff --git a/configs/gps.conf b/configs/gps.conf new file mode 100644 index 0000000..5015eb0 --- /dev/null +++ b/configs/gps.conf @@ -0,0 +1,6 @@ +NTP_SERVER=north-america.pool.ntp.org +XTRA_SERVER_1=http://gllto.glpals.com/4day/glo/v2/latest/lto2.dat +XTRA_SERVER_2=http://gllto.glpals.com/4day/glo/v2/latest/lto2.dat +XTRA_SERVER_3=http://gllto.glpals.com/4day/glo/v2/latest/lto2.dat +SUPL_HOST=supl.google.com +SUPL_PORT=7276 diff --git a/configs/gps.xml b/configs/gps.xml new file mode 100644 index 0000000..1c4aaa9 --- /dev/null +++ b/configs/gps.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="utf-8"?> +<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.glpals.com/glconfig.xsd" > + <!--HAL Confguration --> + <hal + acPortName="/dev/ttyO0" + lBaudRate="115200" + gpioNStdbyPath="/sys/class/sec/gps/GPS_PWR_EN/value" + gpioNResetPath="/sys/class/sec/gps/GPS_nRST/value" + gpioDelayMs="250" + acNvStoDir="/data/gps/" + FactoryTestFilePath="/data/" + + acLogDirectory="/sdcard/gps/broadcom/" + + TISEnabled="true" + LPmode="false" + cp-cold-start="false" + cp-guard-time-sec="1" + + arp-supl-enable="true" + arp-supl-cap-msb="true" + arp-supl-cap-msa="true" + arp-supl-cap-ecid="false" + arp-supl-use-apn="false" + acSuplServer="supl.google.com" + SuplPort="7276" + tlsCertPath="/system/bin/gps.cer" + tlsEnable="false" + ReAidingIntervalSec="1200" + SuplUT1Seconds="20" + SuplUT2Seconds="20" + SuplUT3Seconds="20" + SuplVersion="1" + + LbsEnable="true" + LbsLocal="false" + LbsServer="BCMLS2.glpals.com" + LbsPort="7275" + LbsSyncLto="false" + SyncLto="true" + ltoFileName="lto2.dat" + acLtoDir="/data/gps/" + LbsSyncLtoThresholdDays="3" + LbsTAC="10101222" + LbsWlanEnable="false" + + IgnoreJniTime="true" + + SensorsEnable="false" + SensorsPowerSave="false" + SensorsLog="false" + + /> + + <gll + LogPriMask="LOG_INFO" + LogFacMask="LOG_GLLAPI | LOG_NMEA | LOG_RAWDATA" + FrqPlan="FRQ_PLAN_26MHZ_2PPM_26MHZ_300PPB" + RfType="GL_RF_47511_BRCM_EXT_LNA" + WarmStandbyTimeout1Seconds="10" + WarmStandbyTimeout2Seconds="15" + > + </gll> + <gll_features + EnableLowPowerEls="false" + EnableLowPowerPmm="true" + /> + +</glgps> diff --git a/configs/media_profiles.xml b/configs/media_profiles.xml new file mode 100644 index 0000000..3b2a56a --- /dev/null +++ b/configs/media_profiles.xml @@ -0,0 +1,467 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- 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. +--> +<!DOCTYPE MediaSettings [ + <!ELEMENT MediaSettings (CamcorderProfiles, + EncoderOutputFileFormat+, + VideoEncoderCap+, + AudioEncoderCap+, + VideoDecoderCap, + AudioDecoderCap)> + <!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)> + <!ELEMENT EncoderProfile (Video, Audio)> + <!ATTLIST EncoderProfile quality (timelapse720p|timelapse480p|timelapsehigh|timelapselow|480p|qcif|high|low) #REQUIRED> + <!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED> + <!ATTLIST EncoderProfile duration (30|60) #REQUIRED> + <!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED> + <!ELEMENT Video EMPTY> + <!ATTLIST Video codec (h264|h263|m4v) #REQUIRED> + <!ATTLIST Video bitRate CDATA #REQUIRED> + <!ATTLIST Video width CDATA #REQUIRED> + <!ATTLIST Video height CDATA #REQUIRED> + <!ATTLIST Video frameRate CDATA #REQUIRED> + <!ELEMENT Audio EMPTY> + <!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED> + <!ATTLIST Audio bitRate CDATA #REQUIRED> + <!ATTLIST Audio sampleRate CDATA #REQUIRED> + <!ATTLIST Audio channels (1|2) #REQUIRED> + <!ELEMENT ImageEncoding EMPTY> + <!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED> + <!ELEMENT ImageDecoding EMPTY> + <!ATTLIST ImageDecoding memCap CDATA #REQUIRED> + <!ELEMENT Camera EMPTY> + <!ATTLIST Camera previewFrameRate CDATA #REQUIRED> + <!ELEMENT EncoderOutputFileFormat EMPTY> + <!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED> + <!ELEMENT VideoEncoderCap EMPTY> + <!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED> + <!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED> + <!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED> + <!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED> + <!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED> + <!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED> + <!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED> + <!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED> + <!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED> + <!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED> + <!ELEMENT AudioEncoderCap EMPTY> + <!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED> + <!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED> + <!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED> + <!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED> + <!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED> + <!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED> + <!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED> + <!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED> + <!ELEMENT VideoDecoderCap EMPTY> + <!ATTLIST VideoDecoderCap name (wmv) #REQUIRED> + <!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED> + <!ELEMENT AudioDecoderCap EMPTY> + <!ATTLIST AudioDecoderCap name (wma) #REQUIRED> + <!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED> + <!ELEMENT VideoEditorCap EMPTY> + <!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED> + <!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED> + <!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED> + <!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED> + <!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED> + <!ELEMENT ExportVideoProfile EMPTY> + <!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED> + <!ATTLIST ExportVideoProfile profile CDATA #REQUIRED> + <!ATTLIST ExportVideoProfile level CDATA #REQUIRED> +]> +<!-- + This file is used to declare the multimedia profiles and capabilities + on an android-powered device. +--> +<MediaSettings> + <!-- Each camcorder profile defines a set of predefined configuration parameters --> + <!-- Back Camera --> + <CamcorderProfiles cameraId="0"> + + <EncoderProfile quality="low" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="384000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="12000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="384000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="3078000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="720p" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="12000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapselow" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="384000" + width="176" + height="144" + frameRate="30" /> + + <!-- + The Audio part of the profile will not be used since time lapse mode + does not capture audio + --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsehigh" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="12000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- + The Audio part of the profile will not be used since time lapse mode + does not capture audio + --> + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="384000" + width="176" + height="144" + frameRate="30" /> + + <!-- + The Audio part of the profile will not be used since time lapse mode + does not capture audio + --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="3078000" + width="640" + height="480" + frameRate="30" /> + + <!-- + The Audio part of the profile will not be used since time lapse mode + does not capture audio + --> + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse720p" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="12000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- + The Audio part of the profile will not be used since time lapse mode + does not capture audio + --> + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <ImageEncoding quality="90" /> + <ImageEncoding quality="80" /> + <ImageEncoding quality="70" /> + <ImageDecoding memCap="20000000" /> + + </CamcorderProfiles> + + <!-- Front Camera --> + <CamcorderProfiles cameraId="1"> + + <EncoderProfile quality="low" fileFormat="3gp" duration="15"> + <Video codec="h264" + bitRate="384000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="3gp" duration="15"> + <Video codec="h264" + bitRate="3078000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="15"> + <Video codec="h264" + bitRate="384000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="3gp" duration="15"> + <Video codec="h264" + bitRate="3078000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapselow" fileFormat="3gp" duration="15"> + <Video codec="h264" + bitRate="384000" + width="176" + height="144" + frameRate="30" /> + + <!-- + The Audio part of the profile will not be used since time lapse mode + does not capture audio + --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsehigh" fileFormat="3gp" duration="15"> + <Video codec="h264" + bitRate="3078000" + width="640" + height="480" + frameRate="30" /> + + <!-- + The Audio part of the profile will not be used since time lapse mode + does not capture audio + --> + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="15"> + <Video codec="h264" + bitRate="384000" + width="176" + height="144" + frameRate="30" /> + + <!-- + The Audio part of the profile will not be used since time lapse mode + does not capture audio + --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="15"> + <Video codec="h264" + bitRate="3078000" + width="640" + height="480" + frameRate="30" /> + + <!-- + The Audio part of the profile will not be used since time lapse mode + does not capture audio + --> + <Audio codec="aac" + bitRate="192000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <ImageEncoding quality="90" /> + <ImageEncoding quality="80" /> + <ImageEncoding quality="70" /> + <ImageDecoding memCap="20000000" /> + + </CamcorderProfiles> + + <EncoderOutputFileFormat name="3gp" /> + <EncoderOutputFileFormat name="mp4" /> + + <!-- + If a codec is not enabled, it is invisible to the applications + In other words, the applications won't be able to use the codec + or query the capabilities of the codec at all if it is disabled + --> + <VideoEncoderCap name="h264" enabled="true" + minBitRate="64000" maxBitRate="20000000" + minFrameWidth="176" maxFrameWidth="1280" + minFrameHeight="144" maxFrameHeight="720" + minFrameRate="1" maxFrameRate="30" /> + + <VideoEncoderCap name="h263" enabled="true" + minBitRate="64000" maxBitRate="1000000" + minFrameWidth="176" maxFrameWidth="800" + minFrameHeight="144" maxFrameHeight="480" + minFrameRate="1" maxFrameRate="30" /> + + <VideoEncoderCap name="m4v" enabled="true" + minBitRate="64000" maxBitRate="20000000" + minFrameWidth="176" maxFrameWidth="1280" + minFrameHeight="144" maxFrameHeight="720" + minFrameRate="1" maxFrameRate="30" /> + + <AudioEncoderCap name="aac" enabled="true" + minBitRate="8192" maxBitRate="192000" + minSampleRate="8000" maxSampleRate="48000" + minChannels="1" maxChannels="2" /> + + <AudioEncoderCap name="amrwb" enabled="true" + minBitRate="6600" maxBitRate="23050" + minSampleRate="16000" maxSampleRate="16000" + minChannels="1" maxChannels="1" /> + + <AudioEncoderCap name="amrnb" enabled="true" + minBitRate="5525" maxBitRate="12200" + minSampleRate="8000" maxSampleRate="8000" + minChannels="1" maxChannels="1" /> + + <!-- + FIXME: + We do not check decoder capabilities at present + At present, we only check whether windows media is visible + for TEST applications. For other applications, we do + not perform any checks at all. + --> + <VideoDecoderCap name="wmv" enabled="false"/> + <AudioDecoderCap name="wma" enabled="false"/> + + <!-- + The VideoEditor Capability configuration: + - maxInputFrameWidth: maximum video width of imported video clip. + - maxInputFrameHeight: maximum video height of imported video clip. + - maxOutputFrameWidth: maximum video width of exported video clip. + - maxOutputFrameHeight: maximum video height of exported video clip. + - maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder, + used to limit the amount of memory for prefetched YUV frames. + For this platform, it allows maximum ~1MB(~0.1MB per QVGA frame x 10 + frames) memory. + --> + + <VideoEditorCap maxInputFrameWidth="1280" + maxInputFrameHeight="720" maxOutputFrameWidth="1280" + maxOutputFrameHeight="720" maxPrefetchYUVFrames="5"/> + <!-- + The VideoEditor Export codec profile and level values + correspond to the values in OMX_Video.h. + E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline + and level 256 means OMX_VIDEO_AVCLevel3. + Please note that the values are in decimal. + These values are for video encoder. + --> + <!-- + Codec = h.264, Baseline profile, level 3 + --> + <ExportVideoProfile name="h264" profile= "1" level="256"/> + <!-- + Codec = h.263, Baseline profile, level 0 + --> + <ExportVideoProfile name="h263" profile= "1" level="1"/> + <!-- + Codec = mpeg4, Simple profile, level 3 + --> + <ExportVideoProfile name="m4v" profile= "1" level="16"/> +</MediaSettings> diff --git a/configs/tinyucm.conf b/configs/tinyucm.conf new file mode 100644 index 0000000..f040eb2 --- /dev/null +++ b/configs/tinyucm.conf @@ -0,0 +1,396 @@ +// Controls that can be set once at system startup. As the WM8994/WM1811
+// outputs don't conflict with each other we set up most of our routing
+// statically at system startup.
+
+//NOTICE
+//default gain & tinyucm file are in libaudio folder.
+//If you want to have vendor specific configuration files, put the files in device/*product*/
+//Use tinyucm.conf and default_gain.conf in target device
+
+// We need to do symmetric rates so fix the hardware at 44.1kHz and
+// resample.
+InputRate 44100
+OutputRate 44100
+PlaybackLink 0
+CaptureLink 0
+BasebandLink 1
+BluetoothLink 2
+
+//Modifier File
+ModifierFile "default_gain.conf"
+
+INOUT_MAP {
+ { "Speaker", "Builtin Mic" },
+ { "Headset Out", "Headset In" },
+ { "Headphone", "Builtin Mic" },
+ { "SCO Headset Out", "SCO Headset In" },
+ { "SCO", "SCO Headset In" },
+}
+
+INPUT_CHANNEL_MAP {
+ { "Builtin Mic", "Left" },
+ { "Headset In", "Right" },
+ { "SCO Headset In", "Left" },
+}
+
+Core {
+//general
+ { "IN1L ZC Switch", 0 },
+ { "IN1R ZC Switch", 0 },
+ { "IN2L ZC Switch", 0 },
+ { "IN2R ZC Switch", 0 },
+ { "Output ZC Switch", 0 },
+ { "Speaker ZC Switch", 0 },
+ { "Headphone ZC Switch", 0 },
+
+// AIF1->DAC1
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "DAC1 Switch", 1 },
+
+// AIF2->DAC1
+// { "DAC1L Mixer AIF2 Switch", 1 },
+// { "DAC1R Mixer AIF2 Switch", 1 },
+
+// ADC->AIF2
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "AIF2DAC2R Mixer Left Sidetone Switch", 0 },
+ { "AIF2DAC2R Mixer Right Sidetone Switch", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Switch", 1 },
+
+// DAC1->HP
+ { "Left Headphone Mux", "DAC" },
+ { "Right Headphone Mux", "DAC" },
+
+// DAC1->SPKL/R->SPKL/R Boost->SPK
+ { "SPKL DAC1 Switch", 1 },
+ { "SPKR DAC1 Switch", 1 },
+ { "SPKL Boost SPKL Switch", 1 },
+ { "SPKL Boost SPKR Switch", 0 },
+ { "SPKR Boost SPKL Switch", 0 },
+ { "SPKR Boost SPKR Switch", 1 },
+ { "Speaker Mixer Volume", 3 },
+
+// DAC->Output mixer->Earpiece
+ { "Left Output Mixer DAC Switch", 1 },
+ { "Right Output Mixer DAC Switch", 1 },
+ { "Earpiece Mixer Left Output Switch", 1 },
+ { "Earpiece Mixer Right Output Switch", 1 },
+ { "Earpiece Switch", 1 },
+ { "LINEOUT1N Mixer Right Output Switch", 1 },
+ { "LINEOUT1P Mixer Left Output Switch", 1 },
+
+// Main Mic->IN1LP/N->Input Mixer with +30dB at mixer
+ { "IN1L PGA IN1LP Switch", 1 },
+ { "IN1L PGA IN1LN Switch", 1 },
+ { "MIXINL IN1L Volume", 1 },
+ { "IN1L Switch", 1 },
+
+// Sub Mic->IN2RP/N->Input Mixer with +30dB at mixer
+ { "IN2R PGA IN2RP Switch", 1 },
+ { "IN2R PGA IN2RN Switch", 1 },
+ { "MIXINR IN2R Volume", 1 },
+ { "IN2R Switch", 1 },
+
+// Ear Mic->IN1RP/N->Input Mixer with +30dB at mixer
+ { "IN1R PGA IN1RP Switch", 1 },
+ { "IN1R PGA IN1RN Switch", 1 },
+ { "MIXINR IN1R Volume", 1 },
+ { "IN1R Switch", 1 },
+
+// Input mixer->ADC->AIF1
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+ { "ADCL Mux", "ADC" },
+
+// HPF on to take out some bounce
+// { "AIF1ADC1 HPF Switch", 1 },
+// { "Sidetone HPF Switch", 1 },
+
+// Work around core issue
+ { "ADCL Mux", "DMIC" },
+ { "ADCL Mux", "ADC" },
+ { "ADCR Mux", "DMIC" },
+ { "ADCR Mux", "ADC" },
+
+// Default all outputs off
+ { "HP Switch", 0 },
+ { "SPK Switch", 0 },
+ { "RCV Switch", 0 },
+ { "LINEOUT Switch", 0 },
+
+// Default all inputs off
+ { "Main Mic Switch", 0 },
+ { "Sub Mic Switch", 0 },
+ { "Headset Mic Switch", 0 },
+}
+
+// Default configuration for a specific output
+// Should really add aliasing; headset and headphone are the same thing
+// and we should refcount appropriately (ditto for speaker/earpiece on
+// some low end devices)
+
+Device "Speaker" {
+ Enable {
+ { "SPK Switch", 1 },
+ }
+ Disable {
+ { "SPK Switch", 0 },
+ }
+}
+
+Device "Headset Out" {
+ Enable {
+ { "HP Switch", 1 },
+ }
+ Disable {
+ { "HP Switch", 0 },
+ }
+ SharedDevice "Headphone"
+}
+
+Device "Headphone" {
+ Enable {
+ { "HP Switch", 1 },
+ }
+ Disable {
+ { "HP Switch", 0 },
+ }
+ SharedDevice "Headset Out"
+}
+
+Device "SCO Headset Out" {
+ Enable {
+ { "AIF3ADC Mux", 1 },
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 1 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 1 },
+ { "AIF2ADCL Source", "Left" },
+ { "AIF2ADCR Source", "Left" },
+ }
+ Disable {
+ { "AIF3ADC Mux", 0 },
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Device "SCO" {
+ Enable {
+ { "AIF3ADC Mux", 1 },
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 1 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 1 },
+ { "AIF2ADCL Source", "Left" },
+ { "AIF2ADCR Source", "Left" },
+ }
+ Disable {
+ { "AIF3ADC Mux", 0 },
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Device "SCO Carkit" {
+ Enable {
+ { "AIF3ADC Mux", 1 },
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 1 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 1 },
+ { "AIF2ADCL Source", "Left" },
+ { "AIF2ADCR Source", "Left" },
+ }
+ Disable {
+ { "AIF3ADC Mux", 0 },
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Device "Analogue Dock Out" {
+ Enable {
+ { "LINEOUT1N Switch", 1 },
+ { "LINEOUT1P Switch", 1 },
+ { "LINEOUT Switch", 1 },
+ }
+ Disable {
+ { "LINEOUT1N Switch", 0 },
+ { "LINEOUT1P Switch", 0 },
+ { "LINEOUT Switch", 0 },
+ }
+}
+
+Device "Builtin Mic" {
+ Enable {
+ { "Main Mic Switch", 1 },
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Left" },
+ { "AIF2ADCL Source", "Left" },
+ { "AIF2ADCR Source", "Left" },
+ { "MIXINL IN1L Switch", 1 },
+ }
+ Disable {
+ { "Main Mic Switch", 0 },
+ { "MIXINL IN1L Switch", 0 },
+ }
+}
+
+Device "Headset In" {
+ Enable {
+ { "Headset Mic Switch", 1 },
+ { "AIF1ADCL Source", "Right" },
+ { "AIF1ADCR Source", "Right" },
+ { "AIF2ADCL Source", "Right" },
+ { "AIF2ADCR Source", "Right" },
+ { "MIXINR IN1R Switch", 1 },
+ }
+ Disable {
+ { "Headset Mic Switch", 0 },
+ { "MIXINR IN1R Switch", 0 },
+ }
+}
+
+Device "SCO Headset In" {
+ Enable {
+ { "AIF2ADC Mux", 1 },
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Left" },
+ { "AIF2ADCL Source", "Left" },
+ { "AIF2ADCR Source", "Left" },
+ { "AIF1ADC1R Mixer AIF2 Switch", 1 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 1 },
+ }
+ Disable {
+ { "AIF2ADC Mux", 0 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 0 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 0 },
+ }
+}
+
+#Verb Stage
+#Currently just using normal and voicecall
+#Normal, Voicecall
+Verb "Normal" {
+ Enable {
+ { "AIF2 Mode", 1 },
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "AIF2DAC Mux", "AIF3DACDAT" },
+ { "AIF2DAC2L Mixer AIF2 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 0 },
+ }
+ Disable {
+ { "AIF2 Mode", 0 },
+// { "DAC1L Mixer AIF1.1 Switch", 0 },
+// { "DAC1R Mixer AIF1.1 Switch", 0 },
+ { "AIF2DAC Mux", "AIF2DACDAT" },
+ }
+}
+
+Verb "Ringtone" {
+ Enable {
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ }
+ Disable {
+// { "DAC1L Mixer AIF1.1 Switch", 0 },
+// { "DAC1R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Verb "Communication" {
+ Enable {
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ }
+ Disable {
+ { "DAC1L Mixer AIF1.1 Switch", 0 },
+ { "DAC1R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Verb "Voicecall" {
+ Enable {
+ { "HP Output Mode", 0 },
+ { "AIF2 Mode", 0 },
+//left:0, right:1
+ { "AIF2DACL Source", 0 },
+ { "AIF2DACR Source", 0 },
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "DAC1L Mixer AIF2 Switch", 1 },
+ { "DAC1R Mixer AIF2 Switch", 1 },
+ { "AIF2DAC Mux", "AIF2DACDAT" },
+ }
+ Disable {
+ { "AIF2 Mode", 0 },
+ { "AIF2DACL Source", 0 },
+ { "AIF2DACR Source", 1 },
+// { "DAC1L Mixer AIF1.1 Switch", 0 },
+// { "DAC1R Mixer AIF1.1 Switch", 0 },
+ { "DAC1L Mixer AIF2 Switch", 0 },
+ { "DAC1R Mixer AIF2 Switch", 0 },
+ { "AIF2DAC Mux", "AIF2DACDAT" },
+ }
+}
+
+Verb "Loopback" {
+ Enable {
+ { "HP Output Mode", 0 },
+ { "AIF2 Mode", 0 },
+//left:0, right:1
+ { "AIF2DACL Source", 0 },
+ { "AIF2DACR Source", 0 },
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "DAC1L Mixer AIF2 Switch", 1 },
+ { "DAC1R Mixer AIF2 Switch", 1 },
+ { "AIF2DAC Mux", "AIF2DACDAT" },
+ { "AIF2DAC2L Mixer AIF2 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 0 },
+ }
+ Disable {
+ { "AIF2 Mode", 0 },
+ { "AIF2DACL Source", 0 },
+ { "AIF2DACR Source", 1 },
+// { "DAC1L Mixer AIF1.1 Switch", 0 },
+// { "DAC1R Mixer AIF1.1 Switch", 0 },
+ { "DAC1L Mixer AIF2 Switch", 0 },
+ { "DAC1R Mixer AIF2 Switch", 0 },
+ { "AIF2DAC Mux", "AIF2DACDAT" },
+ }
+}
+
+ChannelSource "Left" {
+ Enable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Left" },
+ }
+ Disable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Right" },
+ }
+}
+
+ChannelSource "Right" {
+ Enable {
+ { "AIF1ADCL Source", "Right" },
+ { "AIF1ADCR Source", "Right" },
+ }
+ Disable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Right" },
+ }
+}
+
+ChannelSource "Stereo" {
+ Enable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Right" },
+ }
+ Disable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Right" },
+ }
+}
+
diff --git a/configs/vold.fstab b/configs/vold.fstab new file mode 100644 index 0000000..2c6f66e --- /dev/null +++ b/configs/vold.fstab @@ -0,0 +1,19 @@ +## Vold 2.0 Generic fstab +## - San Mehat (san@android.com) +## + +####################### +## Regular device mount +## +## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...> +## label - Label for the volume +## mount_point - Where the volume will be mounted +## part - Partition # (1 based), or 'auto' for first usable partition. +## <sysfs_path> - List of sysfs paths to source devices +###################### + +# external sdcard +dev_mount sdcard /mnt/extSdCard auto /devices/platform/omap/omap_hsmmc.0/mmc_host/mmc1 + +#usb host device +dev_mount usbdisk /mnt/usbdisk auto /devices/platform/omap/musb-omap2430/musb-hdrc/usb1 diff --git a/configs/wpa_supplicant.conf b/configs/wpa_supplicant.conf new file mode 100644 index 0000000..314897f --- /dev/null +++ b/configs/wpa_supplicant.conf @@ -0,0 +1,9 @@ +update_config=1 +ctrl_interface=wlan0 +eapol_version=1 +ap_scan=1 +fast_reauth=1 +p2p_listen_reg_class=81 +p2p_listen_channel=1 +p2p_oper_reg_class=115 +p2p_oper_channel=48 diff --git a/extract-files.sh b/extract-files.sh new file mode 100755 index 0000000..491b890 --- /dev/null +++ b/extract-files.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +# 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. + +# This file is generated by device/common/generate-blob-scripts.sh - DO NOT EDIT + +VENDOR=samsung +COMMON=p31xx +DEVICE=p3100 +COMMONBASE=../../../vendor/$VENDOR/$COMMON/common +DEVICEBASE=../../../vendor/$VENDOR/$COMMON/$DEVICE + +echo "Pulling common files..." +for FILE in `cat proprietary-common-files.txt | grep -v ^# | grep -v ^$`; do + DIR=`dirname $FILE` + if [ ! -d $COMMONBASE/$DIR ]; then + mkdir -p $COMMONBASE/$DIR + fi + adb pull /$FILE $COMMONBASE/$FILE +done + +echo "Pulling device specific files..." +for FILE in `cat proprietary-$DEVICE-files.txt | grep -v ^# | grep -v ^$`; do + DIR=`dirname $FILE` + if [ ! -d $DEVICEBASE/$DIR ]; then + mkdir -p $DEVICEBASE/$DIR + fi + adb pull /$FILE $DEVICEBASE/$FILE +done + +./setup-makefiles.sh diff --git a/full_p3100.mk b/full_p3100.mk new file mode 100644 index 0000000..399af97 --- /dev/null +++ b/full_p3100.mk @@ -0,0 +1,26 @@ +# +# 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. +# + +# Inherit from those products. Most specific first. +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) +$(call inherit-product, device/samsung/p3100/p3100.mk) + +# Discard inherited values and use our own instead. +PRODUCT_NAME := full_p3100 +PRODUCT_DEVICE := p3100 +PRODUCT_BRAND := samsung +PRODUCT_MANUFACTURER := samsung +PRODUCT_MODEL := GT-P3100 diff --git a/init.espresso.rc b/init.espresso.rc new file mode 100755 index 0000000..6d72f4c --- /dev/null +++ b/init.espresso.rc @@ -0,0 +1,359 @@ +import init.espresso.usb.rc + +on early-init + export EXTERNAL_STORAGE /mnt/sdcard + mkdir /mnt/sdcard 0000 system system + mkdir /mnt/extSdCard 0000 system system + mkdir /mnt/usbdisk 0000 system system + + # for backwards compatibility + symlink /efs /factory + symlink /mnt/sdcard /sdcard + symlink /mnt/extSdCard /extSdCard + +on init +# Vibetonz + export VIBE_PIPE_PATH /dev/pipes + mkdir /dev/pipes 0771 shell shell + +# Vibetonz + chmod 0660 /dev/tspdrv + chown root shell /dev/tspdrv + +# change permissions for ION driver + chmod 0777 /dev/ion + +# PVR + chmod 0666 /dev/pvrsrvkm + +on fs + mkdir /efs + mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/FACTORYFS /system wait rw + mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/FACTORYFS /system ro remount + mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/DATAFS /data wait noatime nosuid nodev crypt discard,noauto_da_alloc + mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/CACHE /cache wait noatime nosuid nodev nomblk_io_submit,errors=panic + mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/EFS /efs wait rw + chown radio system /efs + chmod 0775 /efs + + setprop ro.crypto.fuse_sdcard true + + mount debugfs /sys/kernel/debug /sys/kernel/debug + +on post-fs-data + # we will remap this as /mnt/sdcard with the sdcard fuse tool + mkdir /data/media 0775 media_rw media_rw + chown media_rw media_rw /data/media + mkdir /data/misc/wifi 0770 wifi system + mkdir /data/misc/wifi/sockets 0770 wifi wifi + + mkdir /data/misc/dhcp 0775 dhcp dhcp + mkdir /data/misc/radio 0771 radio system + mkdir /data/misc/radio/hatp 0771 radio system + chown radio radio /data/misc/radio + + chown dhcp dhcp /data/misc/dhcp + +# MTP Device permission. + chmod 0660 /dev/usb_mtp_gadget + chown system system /dev/usb_mtp_gadget + + write /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq 800000 + chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq + +#DVFS Lock + chown radio system /sys/power/cpufreq_min_limit + chown radio system /sys/power/cpufreq_max_limit + chown radio system /sys/power/cpufreq_table + chmod 0664 /sys/power/cpufreq_min_limit + chmod 0664 /sys/power/cpufreq_max_limit + chmod 0664 /sys/power/cpufreq_table + +# permissions for bluetooth. + setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr" + chown bluetooth bluetooth ro.bt.bdaddr_path + chown bluetooth bluetooth /dev/ttyO1 + chmod 0600 /dev/ttyO1 + chmod 0660 /sys/class/rfkill/rfkill0/state + chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state + chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type + +# for samsung factory. + chown radio radio /efs/bluetooth + chmod 0755 /efs/bluetooth + chmod 0644 /efs/bluetooth/bt_addr + +# Change permission for sensor rev00 + chmod 755 /system/bin/geomagneticd + + chown system input /sys/class/input/input2/enable + chown system input /sys/class/input/input2/poll_delay + + chown system input /sys/class/input/input3/enable + chown system input /sys/class/input/input3/poll_delay + + chown system input /sys/class/input/input2/enable + chown system input /sys/class/input/input2/delay + chown system input /sys/class/input/input2/wake + + chown system input /sys/class/input/input3/enable + chown system input /sys/class/input/input3/delay + chown system input /sys/class/input/input3/filter_enable + chown system input /sys/class/input/input3/filter_len + chown system input /sys/class/input/input3/data + chown system input /sys/class/input/input3/status + chown system input /sys/class/input/input3/wake + chown system input /sys/class/input/input3/position + + chown compass input /sys/class/input/input3/offsets + chown compass input /sys/class/input/input3/dynamic_matrix + chown system input /sys/class/input/input3/threshold + chown system input /sys/class/input/input3/distortion + chown system input /sys/class/input/input3/shape + write /sys/class/input/input3/distortion "500 350 15" + + chown system input /sys/class/input/input4/enable + chown system input /sys/class/input/input4/delay + chown system input /sys/class/input/input4/filter_enable + chown system input /sys/class/input/input4/filter_len + chown system input /sys/class/input/input4/data + chown system input /sys/class/input/input4/status + chown system input /sys/class/input/input4/wake + chown system input /sys/class/input/input4/position + + chown compass input /sys/class/input/input4/offsets + chown compass input /sys/class/input/input4/dynamic_matrix + chown system input /sys/class/input/input4/threshold + chown system input /sys/class/input/input4/distortion + chown system input /sys/class/input/input4/shape + write /sys/class/input/input4/distortion "500 350 15" + + chown system input /sys/class/input/input5/enable + chown system input /sys/class/input/input5/delay + chown system input /sys/class/input/input5/filter_enable + chown system input /sys/class/input/input5/filter_len + chown system input /sys/class/input/input5/data + chown system input /sys/class/input/input5/status + chown system input /sys/class/input/input5/wake + chown system input /sys/class/input/input5/position + + chown compass input /sys/class/input/input5/offsets + chown compass input /sys/class/input/input5/dynamic_matrix + chown system input /sys/class/input/input5/threshold + chown system input /sys/class/input/input5/distortion + chown system input /sys/class/input/input5/shape + write /sys/class/input/input5/distortion "500 350 15" + + chown system input /sys/class/input/input6/enable + chown system input /sys/class/input/input6/delay + chown system input /sys/class/input/input6/filter_enable + chown system input /sys/class/input/input6/filter_len + chown system input /sys/class/input/input6/data + chown system input /sys/class/input/input6/status + chown system input /sys/class/input/input6/wake + chown system input /sys/class/input/input6/position + + chown compass input /sys/class/input/input6/offsets + chown compass input /sys/class/input/input6/dynamic_matrix + chown system input /sys/class/input/input6/threshold + chown system input /sys/class/input/input6/distortion + chown system input /sys/class/input/input6/shape + write /sys/class/input/input6/distortion "500 350 15" + + chown system input /sys/class/input/input7/enable + chown system input /sys/class/input/input7/delay + chown system input /sys/class/input/input7/filter_enable + chown system input /sys/class/input/input7/filter_len + chown system input /sys/class/input/input7/data + chown system input /sys/class/input/input7/status + chown system input /sys/class/input/input7/wake + chown system input /sys/class/input/input7/position + + chown system radio /sys/class/sensors/accelerometer_sensor/raw_data + chown system radio /sys/class/sensors/accelerometer_sensor/calibration + chown system radio /sys/class/sensors/accelerometer_sensor/vendor + chown system radio /sys/class/sensors/accelerometer_sensor/name + + chown system radio /sys/class/sensors/magnetic_sensor/vendor + chown system radio /sys/class/sensors/magnetic_sensor/name + + chown system radio /sys/class/sensors/proximity_sensor/state + chown system radio /sys/class/sensors/proximity_sensor/raw_data + chown system radio /sys/class/sensors/proximity_sensor/vendor + chown system radio /sys/class/sensors/proximity_sensor/name + + chown system radio /sys/class/sensors/light_sensor/lux + chown system radio /sys/class/sensors/light_sensor/raw_data + chown system radio /sys/class/sensors/light_sensor/vendor + chown system radio /sys/class/sensors/light_sensor/name + +# Change permission for TSP + chown system radio /sys/class/sec/tsp/cmd + chown system radio /sys/class/sec/tsp/cmd_status + chown system radio /sys/class/sec/tsp/cmd_result + chown media_rw media_rw /sys/class/sec/tsp/set_jitter + +# Change permission for switch + chmod 0660 /sys/class/sec/switch/uart_sel + chmod 0660 /sys/class/sec/switch/usb_sel + chmod 0600 /sys/class/sec/switch/jig_on + + chown system radio /sys/class/sec/switch/uart_sel + chown system radio /sys/class/sec/switch/usb_sel + chown radio radio /sys/class/sec/switch/jig_on + chown system radio /sys/class/sec/switch/adc + +# create data/gps for GPS demon + chown root system /dev/ttyO0 + chmod 0660 /dev/ttyO0 + chown root system /sys/class/sec/gps/GPS_PWR_EN/value + chmod 0664 /sys/class/sec/gps/GPS_PWR_EN/value + chown root system /sys/class/sec/gps/GPS_nRST/value + chmod 0664 /sys/class/sec/gps/GPS_nRST/value + mkdir /data/gps 771 system system + chown system system /data/gps + +#Change permission for backlight and lcd + chown system system /sys/class/backlight/panel/brightness + chown system radio /sys/class/lcd/panel/lcd_type + chown system radio /sys/class/lcd/panel/lcd_power + +# IrLED + chown system system /sys/class/sec/sec_ir/ir_send + chown system system /sys/class/sec/sec_ir/check_ir + +# Battery + chown system radio /sys/class/power_supply/battery/batt_reset_soc + chmod 0664 /sys/class/power_supply/battery/batt_reset_soc + +# for wifi + mkdir /efs/wifi 0775 system radio + +# for hdcp, amwbr + mkdir /data/misc/radio 0775 radio system + +# for hdmi factory test + chown radio system /sys/devices/platform/omapdss/display1/sec_timing + + setprop vold.post_fs_data_done 1 + +on boot + +service pvrsrvinit /vendor/bin/pvrsrvinit + class core + user root + group root + oneshot + +service hciattach /system/bin/brcm_patchram_plus --enable_hci --no2bytes --enable_lpm \ + --tosleep 50000 --baudrate 3000000 --use_baudrate_for_download \ + --patchram /vendor/firmware/BCM4330.hcd /dev/ttyO1 + class main + user bluetooth + group bluetooth net_bt_admin + disabled + oneshot + +service orientationd /system/bin/orientationd + class main + user compass + group input + +service geomagneticd /system/bin/geomagneticd + class main + user compass + group system input + +# create virtual SD card at /mnt/sdcard, based on the /data/media directory +# daemon will drop to user/group system/media_rw after initializing +# underlying files in /data/media will be created with user and group media_rw (1023) +service sdcard /system/bin/sdcard /data/media 1023 1023 + class late_start + +service wpa_supplicant /system/bin/wpa_supplicant \ + -Dnl80211 -iwlan0 -puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin + # we will start as root and wpa_supplicant will switch to user wifi + # after setting up the capabilities required for WEXT + # user wifi + # group wifi inet keystore + class main + socket wpa_wlan0 dgram 660 wifi wifi + disabled + oneshot + +service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL + class main + disabled + oneshot + +service dhcpcd_p2p /system/bin/dhcpcd -aABKL + class main + disabled + oneshot + +service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL + class main + disabled + oneshot + + +service iprenew_wlan0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +service iprenew_p2p /system/bin/dhcpcd -n + class main + disabled + oneshot + +service iprenew_bnep0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +# GPS +service gpsd /system/bin/gpsd -c /system/etc/gps.xml + class main + socket gps seqpacket 0660 gps system + user gps + group system inet sdcard_rw + +# SMC Service +service tf_daemon /system/bin/tf_daemon \ + -d -c /system/bin/smc.ini + class main + user system + group drmrpc + +service smc_pa /system/bin/smc_pa_ctrl \ + -c /system/bin/smc.ini \ + start /system/bin/smc_pa.ift + class main + user drmrpc + group drmrpc + oneshot + +# LPM +on property:ro.bootmode=charger + mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/FACTORYFS /system wait ro + +on property:ro.bootmode=charger + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 6860 + write /sys/class/android_usb/android0/functions adb + write /sys/class/android_usb/android0/enable 1 + write /sys/class/android_usb/android0/iManufacturer samsung + write /sys/class/android_usb/android0/iProduct GT-I9100G + start adbd + +on property:ro.bootmode=charger + start pvrsrvinit + +on property:ro.bootmode=charger + class_start charger + +service charger /charger + class charger + user root diff --git a/init.espresso.usb.rc b/init.espresso.usb.rc new file mode 100755 index 0000000..7545695 --- /dev/null +++ b/init.espresso.usb.rc @@ -0,0 +1,89 @@ +on init + write /sys/class/android_usb/android0/iSerial $ro.serialno + write /sys/class/android_usb/android0/f_rndis/manufacturer Samsung + write /sys/class/android_usb/android0/f_rndis/vendorID 04e8 + write /sys/class/android_usb/android0/f_rndis/wceis 1 + +on boot + write /sys/class/android_usb/android0/iManufacturer $ro.manufacturer + write /sys/class/android_usb/android0/iProduct $ro.model + write /sys/class/android_usb/android0/iSerial $ro.serialno + write /sys/class/android_usb/f_mass_storage/inquiry_string "Samsung" + +on property:sys.usb.config=mtp + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 6860 + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state $sys.usb.config + +on property:sys.usb.config=mtp,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 6860 + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state $sys.usb.config + +on property:sys.usb.config=rndis + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 6863 + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/bDeviceClass 224 + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state $sys.usb.config + +on property:sys.usb.config=rndis,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 6864 + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/bDeviceClass 224 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state $sys.usb.config + +on property:sys.usb.config=ptp + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 6865 + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state $sys.usb.config + +on property:sys.usb.config=ptp,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 6866 + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state $sys.usb.config + +on property:sys.usb.config=rndis,dm + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 6862 + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state $sys.usb.config + +on property:sys.usb.config=mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 685B + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state $sys.usb.config + +on property:sys.usb.config=mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 04e8 + write /sys/class/android_usb/android0/idProduct 685e + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state $sys.usb.config diff --git a/liblights/Android.mk b/liblights/Android.mk new file mode 100755 index 0000000..aaa3a96 --- /dev/null +++ b/liblights/Android.mk @@ -0,0 +1,33 @@ +# +# Copyright (C) 2012 The Android Open Source Project +# 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. + +LOCAL_PATH:= $(call my-dir) +# HAL module implemenation stored in +# hw/<COPYPIX_HARDWARE_MODULE_ID>.<ro.board.platform>.so +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := lights.c + + +LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw + +LOCAL_SHARED_LIBRARIES := liblog + +LOCAL_MODULE := lights.piranha + +LOCAL_MODULE_TAGS := optional + +include $(BUILD_SHARED_LIBRARY) diff --git a/liblights/lights.c b/liblights/lights.c new file mode 100644 index 0000000..bd952a7 --- /dev/null +++ b/liblights/lights.c @@ -0,0 +1,142 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * 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. + */ + +#define LOG_TAG "lights" +#define LOG_NDEBUG 0 + +#include <cutils/log.h> +#include <stdint.h> +#include <string.h> +#include <errno.h> +#include <fcntl.h> +#include <pthread.h> +#include <sys/ioctl.h> +#include <sys/types.h> +#include <hardware/lights.h> + +static pthread_once_t g_init = PTHREAD_ONCE_INIT; +static pthread_mutex_t g_lock = PTHREAD_MUTEX_INITIALIZER; + +char const *const LCD_FILE = "/sys/class/backlight/panel/brightness"; + +void +init_g_lock(void) +{ + pthread_mutex_init(&g_lock, NULL); +} + +static int +write_int(char const *path, int value) +{ + int fd; + static int already_warned = 0; + + fd = open(path, O_RDWR); + if (fd >= 0) { + char buffer[20]; + int bytes = sprintf(buffer, "%d\n", value); + int amt = write(fd, buffer, bytes); + close(fd); + return amt == -1 ? -errno : 0; + } else { + if (already_warned == 0) { + LOGE("write_int failed to open %s\n", path); + already_warned = 1; + } + return -errno; + } +} + +static int +is_lit(struct light_state_t const* state) +{ + return state->color & 0x00ffffff; +} + +static int +rgb_to_brightness(struct light_state_t const *state) +{ + int color = state->color & 0x00ffffff; + + return ((77*((color>>16) & 0x00ff)) + + (150*((color>>8) & 0x00ff)) + (29*(color & 0x00ff))) >> 8; +} + +static int +set_light_backlight(struct light_device_t *dev, + struct light_state_t const *state) +{ + int err = 0; + int brightness = rgb_to_brightness(state); + + pthread_mutex_lock(&g_lock); + LOGD("set_light_backlight brightness=%d\n", brightness); + err = write_int(LCD_FILE, brightness); + pthread_mutex_unlock(&g_lock); + + return err; +} + +static int close_lights(struct light_device_t *dev) +{ + LOGV("close_light is called"); + if (dev) + free(dev); + + return 0; +} + +static int open_lights(const struct hw_module_t *module, char const *name, + struct hw_device_t **device) +{ +int (*set_light)(struct light_device_t* dev, + struct light_state_t const* state); + + if (0 == strcmp(LIGHT_ID_BACKLIGHT, name)) { + set_light = set_light_backlight; + } + else { + return -EINVAL; + } + + pthread_once(&g_init, init_g_lock); + + struct light_device_t *dev = malloc(sizeof(struct light_device_t)); + memset(dev, 0, sizeof(*dev)); + + dev->common.tag = HARDWARE_DEVICE_TAG; + dev->common.version = 0; + dev->common.module = (struct hw_module_t*)module; + dev->common.close = (int (*)(struct hw_device_t*))close_lights; + dev->set_light = set_light; + + *device = (struct hw_device_t*)dev; + return 0;} + +static struct hw_module_methods_t lights_module_methods = { + .open = open_lights, +}; + +const struct hw_module_t HAL_MODULE_INFO_SYM = { + .tag = HARDWARE_MODULE_TAG, + .version_major = 1, + .version_minor = 0, + .id = LIGHTS_HARDWARE_MODULE_ID, + .name = "Espresso10 Lights Module", + .author = "The CyanogenMod Project", + .methods = &lights_module_methods, +}; diff --git a/overlay/frameworks/base/core/res/res/values-large/config.xml b/overlay/frameworks/base/core/res/res/values-large/config.xml new file mode 100644 index 0000000..27d1d32 --- /dev/null +++ b/overlay/frameworks/base/core/res/res/values-large/config.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 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. +*/ +--> + +<!-- These resources are around just to allow their values to be customized + for different hardware and product builds. --> +<resources> + <integer name="config_longPressOnPowerBehavior">1</integer> +</resources> diff --git a/overlay/frameworks/base/core/res/res/values-sw600dp/config.xml b/overlay/frameworks/base/core/res/res/values-sw600dp/config.xml new file mode 100644 index 0000000..27d1d32 --- /dev/null +++ b/overlay/frameworks/base/core/res/res/values-sw600dp/config.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 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. +*/ +--> + +<!-- These resources are around just to allow their values to be customized + for different hardware and product builds. --> +<resources> + <integer name="config_longPressOnPowerBehavior">1</integer> +</resources> diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml new file mode 100644 index 0000000..3b6853e --- /dev/null +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -0,0 +1,202 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 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. +*/ +--> + +<!-- These resources are around just to allow their values to be customized + for different hardware and product builds. --> +<resources> + + <!-- If true, the screen can be rotated via the accelerometer in all 4 + rotations as the default behavior. --> + <bool name="config_sf_limitedAlpha">true</bool> + + <bool name="config_allowAllRotations">true</bool> + + <!-- Flag indicating whether the we should enable the automatic brightness in Settings. + Software implementation will be used if config_hardware_auto_brightness_available is not set --> + <bool name="config_automatic_brightness_available">true</bool> + + <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support. + The N entries of this array define N + 1 zones as follows: + + Zone 0: 0 <= LUX < array[0] + Zone 1: array[0] <= LUX < array[1] + ... + Zone N: array[N - 1] <= LUX < array[N] + Zone N + 1: array[N] <= LUX < infinity + + Must be overridden in platform specific overlays + --> + <integer-array name="config_autoBrightnessLevels"> + <item>6</item> + <item>12</item> + <item>18</item> + <item>28</item> + <item>40</item> + <item>65</item> + <item>100</item> + <item>150</item> + <item>250</item> + <item>350</item> + <item>500</item> + <item>800</item> + <item>1200</item> + <item>1800</item> + <item>3000</item> + <item>6000</item> + <item>12000</item> + <item>24000</item> + <item>36000</item> + <item>42700</item> + </integer-array> + + <!-- Array of output values for LCD backlight corresponding to the LUX values + in the config_autoBrightnessLevels array. This array should have size one greater + than the size of the config_autoBrightnessLevels array. + --> + <integer-array name="config_autoBrightnessLcdBacklightValues"> + <item>20</item> + <item>23</item> + <item>26</item> + <item>29</item> + <item>35</item> + <item>40</item> + <item>45</item> + <item>50</item> + <item>55</item> + <item>60</item> + <item>80</item> + <item>100</item> + <item>120</item> + <item>150</item> + <item>180</item> + <item>200</item> + <item>210</item> + <item>220</item> + <item>230</item> + <item>240</item> + <item>250</item> + </integer-array> + + <!-- Array of output values for button backlight corresponding to the LUX values + in the config_autoBrightnessLevels array. This array should have size one greater + than the size of the config_autoBrightnessLevels array. + --> + <integer-array name="config_autoBrightnessButtonBacklightValues"> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + </integer-array> + + <!-- Array of output values for keyboard backlight corresponding to the LUX values + in the config_autoBrightnessLevels array. This array should have size one greater + than the size of the config_autoBrightnessLevels array. + i9300 has no keyboard so all values are zero. + --> + <integer-array name="config_autoBrightnessKeyboardBacklightValues"> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + <item>0</item> + </integer-array> + + <!-- Minimum screen brightness allowed by the power manager. --> + <integer name="config_screenBrightnessDim">20</integer> + + <!-- List of regexpressions describing the interface (if any) that represent tetherable + USB interfaces. If the device doesn't want to support tething over USB this should + be empty. An example would be "usb.*" --> + <string-array translatable="false" name="config_tether_usb_regexs"> + <item>"rndis0"</item> + </string-array> + + <!-- List of regexpressions describing the interface (if any) that represent tetherable + bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this + should be empty. --> + <string-array translatable="false" name="config_tether_bluetooth_regexs"> + <item>"bnep\\d"</item> + </string-array> + + <!-- Boolean indicating whether the wifi chipset has dual frequency band support --> + <bool translatable="false" name="config_wifi_dual_band_support">true</bool> + + <!-- Boolean indicating whether the wifi chipset has background scan support --> + <bool translatable="false" name="config_wifi_background_scan_support">true</bool> + + <!-- Component name of the service providing network location support. --> + <string name="config_networkLocationProvider">com.google.android.location.NetworkLocationProvider</string> + + <!-- Component name of the service providing geocoder API support. --> + <string name="config_geocodeProvider">com.google.android.location.GeocodeProvider</string> + + <!-- Vibrator pattern for feedback about a long screen/key press --> + <integer-array name="config_longPressVibePattern"> + <item>20</item> + <item>40</item> + </integer-array> + + <!-- Vibrator pattern for feedback about touching a virtual key --> + <integer-array name="config_virtualKeyVibePattern"> + <item>0</item> + <item>15</item> + <item>25</item> + <item>35</item> + </integer-array> + + <!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap --> + <integer-array name="config_keyboardTapVibePattern"> + <item>50</item> + </integer-array> + + <bool name="config_forceDisableHardwareKeyboard">true</bool> +</resources> diff --git a/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/overlay/frameworks/base/core/res/res/xml/power_profile.xml new file mode 100644 index 0000000..8dc8f8f --- /dev/null +++ b/overlay/frameworks/base/core/res/res/xml/power_profile.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** Copyright 2009, 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. +*/ +--> +<device name="Android"> + <item name="none">0</item> + <item name="screen.on">247</item> + <item name="bluetooth.active">30</item> + <item name="bluetooth.on">1</item> + <item name="bluetooth.at">35690</item> + <item name="screen.full">630</item> + <item name="wifi.on">13</item> + <item name="wifi.active">90</item> + <item name="wifi.scan">170</item> + <item name="dsp.audio">120</item> + <item name="dsp.video">758</item> + <item name="radio.active">139</item> + <item name="radio.scanning">25</item> + <item name="gps.on">40</item> + <array name="radio.on"> + <value>4</value> + <value>4</value> + </array> + + <array name="cpu.speeds"> + <value>1504000</value> + <value>1400000</value> + <value>1200000</value> + <value>1000000</value> + <value>800000</value> + <value>600000</value> + <value>300000</value> + </array> + + <item name="cpu.idle">2.9</item> + <array name="cpu.active"> + <value>530</value> + <value>470</value> + <value>370</value> + <value>280</value> + <value>200</value> + <value>120</value> + <value>40</value> + </array> + + <!-- This is the battery capacity in mAh --> + <item name="battery.capacity">6860</item> +</device> diff --git a/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/overlay/frameworks/base/core/res/res/xml/storage_list.xml new file mode 100644 index 0000000..a96fca9 --- /dev/null +++ b/overlay/frameworks/base/core/res/res/xml/storage_list.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** Copyright 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. +*/ +--> + +<!-- The <device> element should contain one or more <storage> elements. + Exactly one of these should have the attribute primary="true". + This storage will be the primary external storage and should have mountPoint="/mnt/sdcard". + Each storage should have both a mountPoint and storageDescription attribute. + The following attributes are optional: + + primary: (boolean) this storage is the primary external storage + removable: (boolean) this is removable storage (for example, a real SD card) + emulated: (boolean) the storage is emulated via the FUSE sdcard daemon + mtpReserve: (integer) number of megabytes of storage MTP should reserve for free storage + (used for emulated storage that is shared with system's data partition) + + A storage should not have both emulated and removable set to true +--> + +<StorageList xmlns:android="http://schemas.android.com/apk/res/android"> + <storage android:mountPoint="/mnt/sdcard" + android:storageDescription="@string/storage_internal" + android:primary="true" + android:emulated="true" + android:mtpReserve="100" /> + + <storage android:mountPoint="/mnt/extSdCard" + android:storageDescription="@string/storage_sd_card" + android:primary="false" + android:removable="true" /> + + <storage android:mountPoint="/mnt/usbdisk" + android:storageDescription="@string/storage_usb" + android:primary="false" + android:removable="true" /> +</StorageList> diff --git a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml new file mode 100644 index 0000000..ba79867 --- /dev/null +++ b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/** + * Copyright (c) 2009, 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> + <bool name="def_screen_brightness_automatic_mode">true</bool> +</resources> diff --git a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/frameworks/base/packages/SystemUI/res/values/config.xml new file mode 100644 index 0000000..4af4a5a --- /dev/null +++ b/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 2009, 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. +*/ +--> + +<!-- These resources are around just to allow their values to be customized + for different hardware and product builds. --> +<resources> + + <!-- Whether we're using the tablet-optimized recents interface (we use this + value at runtime for some things) --> + <bool name="config_recents_interface_for_tablets">true</bool> +</resources> diff --git a/p3100.mk b/p3100.mk new file mode 100644 index 0000000..47cb510 --- /dev/null +++ b/p3100.mk @@ -0,0 +1,31 @@ +# +# 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. +# + +$(call inherit-product, device/samsung/p3100/p31xx-common.mk) + +LOCAL_PATH := device/samsung/p3100 + +# Packages +PRODUCT_PACKAGES += \ + SamsungServiceMode + +# RIL +PRODUCT_PROPERTY_OVERRIDES += \ + ro.telephony.ril_class=Smdk4210RIL \ + mobiledata.interfaces=pdp0,wlan0,gprs,ppp0 + +# Use the non-open-source parts, if they're present +$(call inherit-product, vendor/samsung/p31xx/p3100-vendor.mk) diff --git a/p31xx-common.mk b/p31xx-common.mk new file mode 100755 index 0000000..d3f78a1 --- /dev/null +++ b/p31xx-common.mk @@ -0,0 +1,146 @@ +# +# 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. +# + +DEVICE_PACKAGE_OVERLAYS += device/samsung/p3100/overlay + +$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk) + +# The gps config appropriate for this device +$(call inherit-product, device/common/gps/gps_us_supl.mk) + +LOCAL_PATH := device/samsung/p3100 + +# This device is hdpi. +PRODUCT_AAPT_CONFIG := normal hdpi +PRODUCT_AAPT_PREF_CONFIG := hdpi +PRODUCT_LOCALES += hdpi + +# Init files +PRODUCT_COPY_FILES := \ + $(LOCAL_PATH)/init.espresso.usb.rc:root/init.espresso.usb.rc \ + $(LOCAL_PATH)/init.espresso.rc:root/init.espresso.rc \ + $(LOCAL_PATH)/ueventd.espresso.rc:root/ueventd.espresso.rc + +# Vold +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/vold.fstab:system/etc/vold.fstab + +# Audio +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/default_gain.conf:system/etc/default_gain.conf \ + $(LOCAL_PATH)/configs/tinyucm.conf:system/etc/tinyucm.conf \ + $(LOCAL_PATH)/configs/Volume.db:system/etc/Volume.db + +# GPS +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/gps.conf:system/etc/gps.conf \ + $(LOCAL_PATH)/configs/gps.xml:system/etc/gps.xml + +# Wifi +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/wpa_supplicant.conf:system/etc/wifi/wpa_supplicant.conf + +PRODUCT_PROPERTY_OVERRIDES += \ + wifi.interface=wlan0 \ + wifi.supplicant_scan_interval=15 + +# Media profiles +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/media_profiles.xml:system/etc/media_profiles.xml + +# Keylayout +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/usr/keychars/espresso-gpio-keypad.kcm:system/usr/keychars/espresso-gpio-keypad.kcm \ + $(LOCAL_PATH)/usr/keychars/Generic.kcm:system/usr/keychars/Generic.kcm \ + $(LOCAL_PATH)/usr/keychars/qwerty.kcm:system/usr/keychars/qwerty.kcm \ + $(LOCAL_PATH)/usr/keychars/qwerty2.kcm:system/usr/keychars/qwerty2.kcm \ + $(LOCAL_PATH)/usr/keychars/Virtual.kcm:system/usr/keychars/Virtual.kcm \ + $(LOCAL_PATH)/usr/keylayout/AVRCP.kl:system/usr/keylayout/AVRCP.kl \ + $(LOCAL_PATH)/usr/keylayout/espresso-gpio-keypad.kl:system/usr/keylayout/espresso-gpio-keypad.kl \ + $(LOCAL_PATH)/usr/keylayout/Generic.kl:system/usr/keylayout/Generic.kl \ + $(LOCAL_PATH)/usr/keylayout/qwerty.kl:system/usr/keylayout/qwerty.kl \ + $(LOCAL_PATH)/usr/keylayout/sec_keyboard.kl:system/usr/keylayout/sec_keyboard.kl \ + $(LOCAL_PATH)/usr/keylayout/Vendor_04e8_Product_7021.kl:system/usr/keylayout/Vendor_04e8_Product_7021.kl \ + $(LOCAL_PATH)/usr/keylayout/Vendor_05ac_Product_0239.kl:system/usr/keylayout/Vendor_05ac_Product_0239.kl \ + $(LOCAL_PATH)/usr/keylayout/Vendor_22b8_Product_093d.kl:system/usr/keylayout/Vendor_22b8_Product_093d.kl \ + $(LOCAL_PATH)/usr/keylayout/Vendor_045e_Product_028e.kl:system/usr/keylayout/Vendor_045e_Product_028e.kl \ + $(LOCAL_PATH)/usr/keylayout/Vendor_046d_Product_c216.kl:system/usr/keylayout/Vendor_046d_Product_c216.kl \ + $(LOCAL_PATH)/usr/keylayout/Vendor_046d_Product_c294.kl:system/usr/keylayout/Vendor_046d_Product_c294.kl \ + $(LOCAL_PATH)/usr/keylayout/Vendor_046d_Product_c299.kl:system/usr/keylayout/Vendor_046d_Product_c299.kl \ + $(LOCAL_PATH)/usr/keylayout/Vendor_046d_Product_c532.kl:system/usr/keylayout/Vendor_046d_Product_c532.kl \ + $(LOCAL_PATH)/usr/keylayout/Vendor_054c_Product_0268.kl:system/usr/keylayout/Vendor_054c_Product_0268.kl + +# Packages +PRODUCT_PACKAGES += \ + audio.a2dp.default \ + lights.piranha \ + libtinyalsa \ + libaudioutils \ + libinvensense_mpl + +# Filesystem management tools +PRODUCT_PACKAGES += \ + static_busybox \ + make_ext4fs \ + setup_fs + +# Charger +PRODUCT_PACKAGES += \ + charger \ + charger_res_images + +# These are the hardware-specific features +PRODUCT_COPY_FILES += \ + frameworks/base/data/etc/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml \ + frameworks/base/data/etc/android.hardware.camera.xml:system/etc/permissions/android.hardware.camera.xml \ + frameworks/base/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ + frameworks/base/data/etc/android.hardware.location.xml:system/etc/permissions/android.hardware.location.xml \ + frameworks/base/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ + frameworks/base/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ + frameworks/base/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ + frameworks/base/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \ + frameworks/base/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ + frameworks/base/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ + frameworks/base/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \ + frameworks/base/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/base/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ + frameworks/base/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/base/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ + packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:system/etc/permissions/android.software.live_wallpaper.xml + +PRODUCT_CHARACTERISTICS := tablet + +PRODUCT_PACKAGES += \ + librs_jni \ + com.android.future.usb.accessory + +# Feature live wallpaper +PRODUCT_COPY_FILES += \ + packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:system/etc/permissions/android.software.live_wallpaper.xml + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.opengles.version=131072 + +# Set default USB interface +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + persist.sys.usb.config=mtp + +PRODUCT_TAGS += dalvik.gc.type-precise + +$(call inherit-product, frameworks/base/build/tablet-dalvik-heap.mk) +$(call inherit-product, hardware/ti/omap4xxx/omap4.mk) +$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk) +$(call inherit-product-if-exists, vendor/samsung/p31xx/p31xx-vendor.mk) diff --git a/proprietary-common-files.txt b/proprietary-common-files.txt new file mode 100644 index 0000000..1c092d4 --- /dev/null +++ b/proprietary-common-files.txt @@ -0,0 +1,71 @@ +system/bin/geomagneticd +system/bin/gpsd +system/bin/orientationd +system/etc/audio/LVVEFS_Rx_Configuration.txt +system/etc/audio/LVVEFS_Tx_Configuration.txt +system/etc/audio/Rx_ControlParams_BLUETOOTH_HEADSET.txt +system/etc/audio/Rx_ControlParams_EARPIECE_WIDEBAND.txt +system/etc/audio/Rx_ControlParams_SPEAKER_WIDEBAND.txt +system/etc/audio/Rx_ControlParams_WIRED_HEADPHONE_WIDEBAND.txt +system/etc/audio/Rx_ControlParams_WIRED_HEADSET_WIDEBAND.txt +system/etc/audio/Tx_ControlParams_BLUETOOTH_HEADSET.txt +system/etc/audio/Tx_ControlParams_EARPIECE_WIDEBAND.txt +system/etc/audio/Tx_ControlParams_SPEAKER_WIDEBAND.txt +system/etc/audio/Tx_ControlParams_WIRED_HEADPHONE_WIDEBAND.txt +system/etc/audio/Tx_ControlParams_WIRED_HEADSET_WIDEBAND.txt +system/etc/wifi/bcmdhd_apsta.bin +system/etc/wifi/bcmdhd_mfg.bin +system/etc/wifi/bcmdhd_p2p.bin +system/etc/wifi/bcmdhd_sta.bin +system/etc/wifi/nvram_mfg.txt +system/etc/wifi/nvram_net.txt +system/lib/hw/audio.primary.piranha.so +system/lib/hw/audio_policy.piranha.so +system/lib/hw/camera.omap4.so +system/lib/hw/gps.omap4.so +system/lib/hw/sensors.omap4.so +system/lib/libI420colorconvert.so +system/lib/libOMX.TI.DUCATI1.MISC.SAMPLE.so +system/lib/libOMX.TI.DUCATI1.VIDEO.CAMERA.so +system/lib/libOMX.TI.DUCATI1.VIDEO.DECODER.secure.so +system/lib/libOMX.TI.DUCATI1.VIDEO.DECODER.so +system/lib/libOMX.TI.DUCATI1.VIDEO.H264E.so +system/lib/libOMX.TI.DUCATI1.VIDEO.MPEG4E.so +system/lib/libOMX_Core.so +system/lib/libQmageDecoder.so +system/lib/lib_SamsungRec_V01003.so +system/lib/lib_Samsung_Resampler.so +system/lib/lib_Samsung_SB_AM_for_ICS_v03002.so +system/lib/lib_SoundAlive_for_ICS_V01012.so +system/lib/libaudiopolicy_sec.so +system/lib/libcontrolcsc.so +system/lib/libdomx.so +system/lib/libion.so +system/lib/liblibSoundAlive_VSP_ver305.so +system/lib/liblvvefs.so +system/lib/libmm_osal.so +system/lib/libril.so +system/lib/libsamsungRecord.so +system/lib/libsamsungSoundbooster.so +system/lib/libsec-ril.so +system/lib/libsecnativefeature.so +system/lib/libsecril-client.so +system/lib/libsoundalive.so +system/lib/libtinyalsa.so +system/lib/libtiutils.so +system/vendor/bin/pvrsrvinit +system/vendor/firmware/BCM4330.hcd +system/vendor/firmware/ducati-m3.bin +system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so +system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so +system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so +system/vendor/lib/hw/gralloc.omap4.so +system/vendor/lib/libIMGegl.so +system/vendor/lib/libPVRScopeServices.so +system/vendor/lib/libglslcompiler.so +system/vendor/lib/libpvr2d.so +system/vendor/lib/libpvrANDROID_WSEGL.so +system/vendor/lib/libsrv_init.so +system/vendor/lib/libsrv_um.so +system/vendor/lib/libusc.so + diff --git a/proprietary-p3100-files.txt b/proprietary-p3100-files.txt new file mode 100644 index 0000000..4bea0e8 --- /dev/null +++ b/proprietary-p3100-files.txt @@ -0,0 +1,3 @@ +system/lib/libril.so +system/lib/libsec-ril.so +system/lib/libsecril-client.so diff --git a/recovery.fstab b/recovery.fstab new file mode 100644 index 0000000..c014023 --- /dev/null +++ b/recovery.fstab @@ -0,0 +1,15 @@ +# mount point fstype device + +/system ext4 /dev/block/mmcblk0p9 +/cache ext4 /dev/block/mmcblk0p7 +/data ext4 /dev/block/mmcblk0p10 length=-16384 +/efs ext4 /dev/block/mmcblk0p1 +/misc emmc misc +/boot emmc /dev/block/mmcblk0p5 +/recovery emmc /dev/block/mmcblk0p6 +/bootloader emmc /dev/block/mmcblk0p2 +/modem emmc /dev/block/mmcblk0p8 +/preload ext4 /dev/block/mmcblk0p11 + +/emmc datamedia /dev/null +/sdcard vfat /dev/block/mmcblk1p1 diff --git a/res/charger/battery_0.png b/res/charger/battery_0.png Binary files differnew file mode 100644 index 0000000..38b888c --- /dev/null +++ b/res/charger/battery_0.png diff --git a/res/charger/battery_1.png b/res/charger/battery_1.png Binary files differnew file mode 100644 index 0000000..03f4226 --- /dev/null +++ b/res/charger/battery_1.png diff --git a/res/charger/battery_2.png b/res/charger/battery_2.png Binary files differnew file mode 100644 index 0000000..296959e --- /dev/null +++ b/res/charger/battery_2.png diff --git a/res/charger/battery_3.png b/res/charger/battery_3.png Binary files differnew file mode 100644 index 0000000..97a5dfd --- /dev/null +++ b/res/charger/battery_3.png diff --git a/res/charger/battery_4.png b/res/charger/battery_4.png Binary files differnew file mode 100644 index 0000000..63865c2 --- /dev/null +++ b/res/charger/battery_4.png diff --git a/res/charger/battery_5.png b/res/charger/battery_5.png Binary files differnew file mode 100644 index 0000000..eec62b0 --- /dev/null +++ b/res/charger/battery_5.png diff --git a/res/charger/battery_charge.png b/res/charger/battery_charge.png Binary files differnew file mode 100644 index 0000000..c1d2856 --- /dev/null +++ b/res/charger/battery_charge.png diff --git a/res/charger/battery_fail.png b/res/charger/battery_fail.png Binary files differnew file mode 100644 index 0000000..9099d02 --- /dev/null +++ b/res/charger/battery_fail.png diff --git a/setup-makefiles.sh b/setup-makefiles.sh new file mode 100755 index 0000000..2e7f818 --- /dev/null +++ b/setup-makefiles.sh @@ -0,0 +1,148 @@ +#!/bin/sh + +# 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. + +VENDOR=samsung +COMMON=p31xx +DEVICE=p3100 +OUTDIR=vendor/$VENDOR/$COMMON +COMMONMAKEFILE=../../../$OUTDIR/$COMMON-vendor-blobs.mk +DEVICEMAKEFILE=../../../$OUTDIR/$DEVICE-vendor-blobs.mk + +mkdir -p ../../../vendor/$VENDOR/$DEVICE + +(cat << EOF) > $COMMONMAKEFILE +# 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. + +# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh + +PRODUCT_COPY_FILES += \\ +EOF + +LINEEND=" \\" +COUNT=`cat proprietary-common-files.txt | grep -v ^# | grep -v ^$ | wc -l | awk {'print $1'}` +for FILE in `cat proprietary-common-files.txt | grep -v ^# | grep -v ^$`; do + COUNT=`expr $COUNT - 1` + if [ $COUNT = "0" ]; then + LINEEND="" + fi + echo " $OUTDIR/common/$FILE:$FILE$LINEEND" >> $COMMONMAKEFILE +done + +(cat << EOF) > $DEVICEMAKEFILE +# 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. + +# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh + +PRODUCT_COPY_FILES += \\ +EOF + +LINEEND=" \\" +COUNT=`cat proprietary-$DEVICE-files.txt | grep -v ^# | grep -v ^$ | wc -l | awk {'print $1'}` +for FILE in `cat proprietary-$DEVICE-files.txt | grep -v ^# | grep -v ^$`; do + COUNT=`expr $COUNT - 1` + if [ $COUNT = "0" ]; then + LINEEND="" + fi + echo " $OUTDIR/common/$FILE:$FILE$LINEEND" >> $DEVICEMAKEFILE +done + +(cat << EOF) | sed s/__COMMON__/$COMMON/g | sed s/__DEVICE__/$DEVICE/g | sed s/__VENDOR__/$VENDOR/g > ../../../vendor/$VENDOR/$COMMON/$DEVICE-vendor.mk +# 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. + +# Pick up overlay for features that depend on non-open-source files +DEVICE_PACKAGE_OVERLAYS := vendor/samsung/__COMMON__/overlay + +\$(call inherit-product, vendor/samsung/__COMMON__/__DEVICE__-vendor-blobs.mk) +EOF + +(cat << EOF) | sed s/__COMMON__/$COMMON/g | sed s/__DEVICE__/$DEVICE/g | sed s/__VENDOR__/$VENDOR/g > ../../../vendor/$VENDOR/$COMMON/$COMMON-vendor.mk +# 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. + +# Pick up overlay for features that depend on non-open-source files +DEVICE_PACKAGE_OVERLAYS := vendor/__VENDOR__/__COMMON__/overlay + +\$(call inherit-product, vendor/__VENDOR__/__COMMON__/__COMMON__-vendor-blobs.mk) +EOF + +(cat << EOF) | sed s/__COMMON__/$COMMON/g | sed s/__DEVICE__/$DEVICE/g | sed s/__VENDOR__/$VENDOR/g > ../../../vendor/$VENDOR/$COMMON/BoardConfigVendor.mk +# 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. + +# This file is generated by device/__MANUFACTURER__/__DEVICE__/setup-makefiles.sh + +USE_CAMERA_STUB := false +BOARD_USES_GENERIC_AUDIO := false + +EOF diff --git a/system.prop b/system.prop new file mode 100644 index 0000000..684357e --- /dev/null +++ b/system.prop @@ -0,0 +1,6 @@ +# +# system.prop for espresso +# +rild.libpath=/system/lib/libsec-ril.so +rild.libargs=-d /dev/ttys0 +telephony.lteOnCdmaDevice=0 diff --git a/ueventd.espresso.rc b/ueventd.espresso.rc new file mode 100644 index 0000000..6804dbd --- /dev/null +++ b/ueventd.espresso.rc @@ -0,0 +1,35 @@ +#for DSSCOMP +/dev/dsscomp 0666 system system +/dev/tiler 0666 system system + +#for SYSLINK +/dev/rpmsg-omx0 0660 system drmrpc +/dev/rpmsg-omx1 0660 system drmrpc +/dev/rproc_user 0660 system drmrpc +/dev/tf_driver 0660 drmrpc drmrpc +/dev/tf_ctrl 0660 drmrpc drmrpc + +#for Sensors +/dev/mpu 0660 system system +/dev/mpuirq 0660 system system +/dev/accelirq 0660 system system +/dev/compassirq 0660 system system +/dev/timerirq 0660 system system +/dev/i2c-4 0660 system system + +#for HSPA RIL +/dev/umts_boot0 0660 radio radio +/dev/umts_boot1 0660 radio radio +/dev/umts_ipc0 0660 radio radio +/dev/umts_rfs0 0660 radio radio +/dev/block/mmcblk0p8 0660 radio radio +/dev/umts_ramdump0 0660 radio radio +/dev/umts_router 0660 radio system +/dev/umts_csd 0660 radio system + +#hdcp +/dev/hdcp 0664 root root + +# used by RIL and GPS +/dev/ttyO0 0660 system radio +/dev/ttyGS0 0660 system system diff --git a/usr/keychars/Generic.kcm b/usr/keychars/Generic.kcm new file mode 100644 index 0000000..b5f6897 --- /dev/null +++ b/usr/keychars/Generic.kcm @@ -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 +} diff --git a/usr/keychars/Virtual.kcm b/usr/keychars/Virtual.kcm new file mode 100644 index 0000000..0ce4a68 --- /dev/null +++ b/usr/keychars/Virtual.kcm @@ -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 +} diff --git a/usr/keychars/espresso-gpio-keypad.kcm b/usr/keychars/espresso-gpio-keypad.kcm new file mode 100644 index 0000000..1a3cb57 --- /dev/null +++ b/usr/keychars/espresso-gpio-keypad.kcm @@ -0,0 +1,15 @@ +# 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. + +type SPECIAL_FUNCTION diff --git a/usr/keychars/qwerty.kcm b/usr/keychars/qwerty.kcm new file mode 100644 index 0000000..f3e1524 --- /dev/null +++ b/usr/keychars/qwerty.kcm @@ -0,0 +1,508 @@ +# 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. + +# +# Emulator keyboard character map #1. +# +# This file is no longer used as the platform's default keyboard character map. +# Refer to Generic.kcm and Virtual.kcm instead. +# + +type ALPHA + +key A { + label: 'A' + number: '2' + base: 'a' + shift, capslock: 'A' + alt: '#' + shift+alt, capslock+alt: none +} + +key B { + label: 'B' + number: '2' + base: 'b' + shift, capslock: 'B' + alt: '<' + shift+alt, capslock+alt: none +} + +key C { + label: 'C' + number: '2' + base: 'c' + shift, capslock: 'C' + alt: '9' + shift+alt, capslock+alt: '\u00e7' +} + +key D { + label: 'D' + number: '3' + base: 'd' + shift, capslock: 'D' + alt: '5' + shift+alt, capslock+alt: none +} + +key E { + label: 'E' + number: '3' + base: 'e' + shift, capslock: 'E' + alt: '2' + shift+alt, capslock+alt: '\u0301' +} + +key F { + label: 'F' + number: '3' + base: 'f' + shift, capslock: 'F' + alt: '6' + shift+alt, capslock+alt: '\u00a5' +} + +key G { + label: 'G' + number: '4' + base: 'g' + shift, capslock: 'G' + alt: '-' + shift+alt, capslock+alt: '_' +} + +key H { + label: 'H' + number: '4' + base: 'h' + shift, capslock: 'H' + alt: '[' + shift+alt, capslock+alt: '{' +} + +key I { + label: 'I' + number: '4' + base: 'i' + shift, capslock: 'I' + alt: '$' + shift+alt, capslock+alt: '\u0302' +} + +key J { + label: 'J' + number: '5' + base: 'j' + shift, capslock: 'J' + alt: ']' + shift+alt, capslock+alt: '}' +} + +key K { + label: 'K' + number: '5' + base: 'k' + shift, capslock: 'K' + alt: '"' + shift+alt, capslock+alt: '~' +} + +key L { + label: 'L' + number: '5' + base: 'l' + shift, capslock: 'L' + alt: '\'' + shift+alt, capslock+alt: '`' +} + +key M { + label: 'M' + number: '6' + base: 'm' + shift, capslock: 'M' + alt: '!' + shift+alt, capslock+alt: none +} + +key N { + label: 'N' + number: '6' + base: 'n' + shift, capslock: 'N' + alt: '>' + shift+alt, capslock+alt: '\u0303' +} + +key O { + label: 'O' + number: '6' + base: 'o' + shift, capslock: 'O' + alt: '(' + shift+alt, capslock+alt: none +} + +key P { + label: 'P' + number: '7' + base: 'p' + shift, capslock: 'P' + alt: ')' + shift+alt, capslock+alt: none +} + +key Q { + label: 'Q' + number: '7' + base: 'q' + shift, capslock: 'Q' + alt: '*' + shift+alt, capslock+alt: '\u0300' +} + +key R { + label: 'R' + number: '7' + base: 'r' + shift, capslock: 'R' + alt: '3' + shift+alt, capslock+alt: '\u20ac' +} + +key S { + label: 'S' + number: '7' + base: 's' + shift, capslock: 'S' + alt: '4' + shift+alt, capslock+alt: '\u00df' +} + +key T { + label: 'T' + number: '8' + base: 't' + shift, capslock: 'T' + alt: '+' + shift+alt, capslock+alt: '\u00a3' +} + +key U { + label: 'U' + number: '8' + base: 'u' + shift, capslock: 'U' + alt: '&' + shift+alt, capslock+alt: '\u0308' +} + +key V { + label: 'V' + number: '8' + base: 'v' + shift, capslock: 'V' + alt: '=' + shift+alt, capslock+alt: '^' +} + +key W { + label: 'W' + number: '9' + base: 'w' + shift, capslock: 'W' + alt: '1' + shift+alt, capslock+alt: none +} + +key X { + label: 'X' + number: '9' + base: 'x' + shift, capslock: 'X' + alt: '8' + shift+alt, capslock+alt: '\uef00' +} + +key Y { + label: 'Y' + number: '9' + base: 'y' + shift, capslock: 'Y' + alt: '%' + shift+alt, capslock+alt: '\u00a1' +} + +key Z { + label: 'Z' + number: '9' + base: 'z' + shift, capslock: 'Z' + alt: '7' + shift+alt, capslock+alt: none +} + +key COMMA { + label: ',' + number: ',' + base: ',' + shift: ';' + alt: ';' + shift+alt: '|' +} + +key PERIOD { + label: '.' + number: '.' + base: '.' + shift: ':' + alt: ':' + shift+alt: '\u2026' +} + +key AT { + label: '@' + number: '0' + base: '@' + shift: '0' + alt: '0' + shift+alt: '\u2022' +} + +key SLASH { + label: '/' + number: '/' + base: '/' + shift: '?' + alt: '?' + shift+alt: '\\' +} + +key SPACE { + label: ' ' + number: ' ' + base: ' ' + shift: ' ' + alt: '\uef01' + shift+alt: '\uef01' +} + +key ENTER { + label: '\n' + number: '\n' + base: '\n' + shift: '\n' + alt: '\n' + shift+alt: '\n' +} + +key TAB { + label: '\t' + number: '\t' + base: '\t' + shift: '\t' + alt: '\t' + shift+alt: '\t' +} + +key 0 { + label: '0' + number: '0' + base: '0' + shift: ')' + alt: ')' + shift+alt: ')' +} + +key 1 { + label: '1' + number: '1' + base: '1' + shift: '!' + alt: '!' + shift+alt: '!' +} + +key 2 { + label: '2' + number: '2' + base: '2' + shift: '@' + alt: '@' + shift+alt: '@' +} + +key 3 { + label: '3' + number: '3' + base: '3' + shift: '#' + alt: '#' + shift+alt: '#' +} + +key 4 { + label: '4' + number: '4' + base: '4' + shift: '$' + alt: '$' + shift+alt: '$' +} + +key 5 { + label: '5' + number: '5' + base: '5' + shift: '%' + alt: '%' + shift+alt: '%' +} + +key 6 { + label: '6' + number: '6' + base: '6' + shift: '^' + alt: '^' + shift+alt: '^' +} + +key 7 { + label: '7' + number: '7' + base: '7' + shift: '&' + alt: '&' + shift+alt: '&' +} + +key 8 { + label: '8' + number: '8' + base: '8' + shift: '*' + alt: '*' + shift+alt: '*' +} + +key 9 { + label: '9' + number: '9' + base: '9' + shift: '(' + alt: '(' + shift+alt: '(' +} + +key GRAVE { + label: '`' + number: '`' + base: '`' + shift: '~' + alt: '`' + shift+alt: '~' +} + +key MINUS { + label: '-' + number: '-' + base: '-' + shift: '_' + alt: '-' + shift+alt: '_' +} + +key EQUALS { + label: '=' + number: '=' + base: '=' + shift: '+' + alt: '=' + shift+alt: '+' +} + +key LEFT_BRACKET { + label: '[' + number: '[' + base: '[' + shift: '{' + alt: '[' + shift+alt: '{' +} + +key RIGHT_BRACKET { + label: ']' + number: ']' + base: ']' + shift: '}' + alt: ']' + shift+alt: '}' +} + +key BACKSLASH { + label: '\\' + number: '\\' + base: '\\' + shift: '|' + alt: '\\' + shift+alt: '|' +} + +key SEMICOLON { + label: ';' + number: ';' + base: ';' + shift: ':' + alt: ';' + shift+alt: ':' +} + +key APOSTROPHE { + label: '\'' + number: '\'' + base: '\'' + shift: '"' + alt: '\'' + shift+alt: '"' +} + +key STAR { + label: '*' + number: '*' + base: '*' + shift: '*' + alt: '*' + shift+alt: '*' +} + +key POUND { + label: '#' + number: '#' + base: '#' + shift: '#' + alt: '#' + shift+alt: '#' +} + +key PLUS { + label: '+' + number: '+' + base: '+' + shift: '+' + alt: '+' + shift+alt: '+' +} diff --git a/usr/keychars/qwerty2.kcm b/usr/keychars/qwerty2.kcm new file mode 100644 index 0000000..d96914f --- /dev/null +++ b/usr/keychars/qwerty2.kcm @@ -0,0 +1,505 @@ +# 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. + +# +# Emulator keyboard character map #2. +# + +type ALPHA + +key A { + label: 'A' + number: '2' + base: 'a' + shift, capslock: 'A' + alt: 'a' + shift+alt, capslock+alt: 'A' +} + +key B { + label: 'B' + number: '2' + base: 'b' + shift, capslock: 'B' + alt: 'b' + shift+alt, capslock+alt: 'B' +} + +key C { + label: 'C' + number: '2' + base: 'c' + shift, capslock: 'C' + alt: '\u00e7' + shift+alt, capslock+alt: '\u00e7' +} + +key D { + label: 'D' + number: '3' + base: 'd' + shift, capslock: 'D' + alt: '\'' + shift+alt, capslock+alt: '\'' +} + +key E { + label: 'E' + number: '3' + base: 'e' + shift, capslock: 'E' + alt: '"' + shift+alt, capslock+alt: '\u0301' +} + +key F { + label: 'F' + number: '3' + base: 'f' + shift, capslock: 'F' + alt: '[' + shift+alt, capslock+alt: '[' +} + +key G { + label: 'G' + number: '4' + base: 'g' + shift, capslock: 'G' + alt: ']' + shift+alt, capslock+alt: ']' +} + +key H { + label: 'H' + number: '4' + base: 'h' + shift, capslock: 'H' + alt: '<' + shift+alt, capslock+alt: '<' +} + +key I { + label: 'I' + number: '4' + base: 'i' + shift, capslock: 'I' + alt: '-' + shift+alt, capslock+alt: '\u0302' +} + +key J { + label: 'J' + number: '5' + base: 'j' + shift, capslock: 'J' + alt: '>' + shift+alt, capslock+alt: '>' +} + +key K { + label: 'K' + number: '5' + base: 'k' + shift, capslock: 'K' + alt: ';' + shift+alt, capslock+alt: '~' +} + +key L { + label: 'L' + number: '5' + base: 'l' + shift, capslock: 'L' + alt: ':' + shift+alt, capslock+alt: '`' +} + +key M { + label: 'M' + number: '6' + base: 'm' + shift, capslock: 'M' + alt: '%' + shift+alt, capslock+alt: none +} + +key N { + label: 'N' + number: '6' + base: 'n' + shift, capslock: 'N' + alt: none + shift+alt, capslock+alt: '\u0303' +} + +key O { + label: 'O' + number: '6' + base: 'o' + shift, capslock: 'O' + alt: '+' + shift+alt, capslock+alt: '+' +} + +key P { + label: 'P' + number: '7' + base: 'p' + shift, capslock: 'P' + alt: '=' + shift+alt, capslock+alt: '\u00a5' +} + +key Q { + label: 'Q' + number: '7' + base: 'q' + shift, capslock: 'Q' + alt: '|' + shift+alt, capslock+alt: '\u0300' +} + +key R { + label: 'R' + number: '7' + base: 'r' + shift, capslock: 'R' + alt: '`' + shift+alt, capslock+alt: '\u20ac' +} + +key S { + label: 'S' + number: '7' + base: 's' + shift, capslock: 'S' + alt: '\\' + shift+alt, capslock+alt: '\u00df' +} + +key T { + label: 'T' + number: '8' + base: 't' + shift, capslock: 'T' + alt: '{' + shift+alt, capslock+alt: '\u00a3' +} + +key U { + label: 'U' + number: '8' + base: 'u' + shift, capslock: 'U' + alt: '_' + shift+alt, capslock+alt: '\u0308' +} + +key V { + label: 'V' + number: '8' + base: 'v' + shift, capslock: 'V' + alt: 'v' + shift+alt, capslock+alt: 'V' +} + +key W { + label: 'W' + number: '9' + base: 'w' + shift, capslock: 'W' + alt: '~' + shift+alt, capslock+alt: '~' +} + +key X { + label: 'X' + number: '9' + base: 'x' + shift, capslock: 'X' + alt: 'x' + shift+alt, capslock+alt: '\uef00' +} + +key Y { + label: 'Y' + number: '9' + base: 'y' + shift, capslock: 'Y' + alt: '}' + shift+alt, capslock+alt: '\u00a1' +} + +key Z { + label: 'Z' + number: '9' + base: 'z' + shift, capslock: 'Z' + alt: 'z' + shift+alt, capslock+alt: 'Z' +} + +key COMMA { + label: ',' + number: ',' + base: ',' + shift: '<' + alt: ',' + shift+alt: ',' +} + +key PERIOD { + label: '.' + number: '.' + base: '.' + shift: '>' + alt: '.' + shift+alt: '\u2026' +} + +key AT { + label: '@' + number: '@' + base: '@' + shift: '@' + alt: '@' + shift+alt: '\u2022' +} + +key SLASH { + label: '/' + number: '/' + base: '/' + shift: '?' + alt: '?' + shift+alt: '?' +} + +key SPACE { + label: ' ' + number: ' ' + base: ' ' + shift: ' ' + alt: '\uef01' + shift+alt: '\uef01' +} + +key ENTER { + label: '\n' + number: '\n' + base: '\n' + shift: '\n' + alt: '\n' + shift+alt: '\n' +} + +key TAB { + label: '\t' + number: '\t' + base: '\t' + shift: '\t' + alt: '\t' + shift+alt: '\t' +} + +key 0 { + label: '0' + number: '0' + base: '0' + shift: ')' + alt: ')' + shift+alt: ')' +} + +key 1 { + label: '1' + number: '1' + base: '1' + shift: '!' + alt: '!' + shift+alt: '!' +} + +key 2 { + label: '2' + number: '2' + base: '2' + shift: '@' + alt: '@' + shift+alt: '@' +} + +key 3 { + label: '3' + number: '3' + base: '3' + shift: '#' + alt: '#' + shift+alt: '#' +} + +key 4 { + label: '4' + number: '4' + base: '4' + shift: '$' + alt: '$' + shift+alt: '$' +} + +key 5 { + label: '5' + number: '5' + base: '5' + shift: '%' + alt: '%' + shift+alt: '%' +} + +key 6 { + label: '6' + number: '6' + base: '6' + shift: '^' + alt: '^' + shift+alt: '^' +} + +key 7 { + label: '7' + number: '7' + base: '7' + shift: '&' + alt: '&' + shift+alt: '&' +} + +key 8 { + label: '8' + number: '8' + base: '8' + shift: '*' + alt: '*' + shift+alt: '*' +} + +key 9 { + label: '9' + number: '9' + base: '9' + shift: '(' + alt: '(' + shift+alt: '(' +} + +key GRAVE { + label: '`' + number: '`' + base: '`' + shift: '~' + alt: '`' + shift+alt: '~' +} + +key MINUS { + label: '-' + number: '-' + base: '-' + shift: '_' + alt: '-' + shift+alt: '_' +} + +key EQUALS { + label: '=' + number: '=' + base: '=' + shift: '+' + alt: '=' + shift+alt: '+' +} + +key LEFT_BRACKET { + label: '[' + number: '[' + base: '[' + shift: '{' + alt: '[' + shift+alt: '{' +} + +key RIGHT_BRACKET { + label: ']' + number: ']' + base: ']' + shift: '}' + alt: ']' + shift+alt: '}' +} + +key BACKSLASH { + label: '\\' + number: '\\' + base: '\\' + shift: '|' + alt: '\\' + shift+alt: '|' +} + +key SEMICOLON { + label: ';' + number: ';' + base: ';' + shift: ':' + alt: ';' + shift+alt: ':' +} + +key APOSTROPHE { + label: '\'' + number: '\'' + base: '\'' + shift: '"' + alt: '\'' + shift+alt: '"' +} + +key STAR { + label: '*' + number: '*' + base: '*' + shift: '*' + alt: '*' + shift+alt: '*' +} + +key POUND { + label: '#' + number: '#' + base: '#' + shift: '#' + alt: '#' + shift+alt: '#' +} + +key PLUS { + label: '+' + number: '+' + base: '+' + shift: '+' + alt: '+' + shift+alt: '+' +} diff --git a/usr/keylayout/AVRCP.kl b/usr/keylayout/AVRCP.kl new file mode 100644 index 0000000..736b43c --- /dev/null +++ b/usr/keylayout/AVRCP.kl @@ -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 diff --git a/usr/keylayout/Generic.kl b/usr/keylayout/Generic.kl new file mode 100644 index 0000000..8fab924 --- /dev/null +++ b/usr/keylayout/Generic.kl @@ -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 diff --git a/usr/keylayout/Vendor_045e_Product_028e.kl b/usr/keylayout/Vendor_045e_Product_028e.kl new file mode 100644 index 0000000..99f046a --- /dev/null +++ b/usr/keylayout/Vendor_045e_Product_028e.kl @@ -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 diff --git a/usr/keylayout/Vendor_046d_Product_c216.kl b/usr/keylayout/Vendor_046d_Product_c216.kl new file mode 100644 index 0000000..6743323 --- /dev/null +++ b/usr/keylayout/Vendor_046d_Product_c216.kl @@ -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 diff --git a/usr/keylayout/Vendor_046d_Product_c294.kl b/usr/keylayout/Vendor_046d_Product_c294.kl new file mode 100644 index 0000000..5492f49 --- /dev/null +++ b/usr/keylayout/Vendor_046d_Product_c294.kl @@ -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 diff --git a/usr/keylayout/Vendor_046d_Product_c299.kl b/usr/keylayout/Vendor_046d_Product_c299.kl new file mode 100644 index 0000000..d42963d --- /dev/null +++ b/usr/keylayout/Vendor_046d_Product_c299.kl @@ -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 diff --git a/usr/keylayout/Vendor_046d_Product_c532.kl b/usr/keylayout/Vendor_046d_Product_c532.kl new file mode 100644 index 0000000..741c2e1 --- /dev/null +++ b/usr/keylayout/Vendor_046d_Product_c532.kl @@ -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 + diff --git a/usr/keylayout/Vendor_04e8_Product_7021.kl b/usr/keylayout/Vendor_04e8_Product_7021.kl new file mode 100644 index 0000000..4eddce0 --- /dev/null +++ b/usr/keylayout/Vendor_04e8_Product_7021.kl @@ -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
\ No newline at end of file diff --git a/usr/keylayout/Vendor_054c_Product_0268.kl b/usr/keylayout/Vendor_054c_Product_0268.kl new file mode 100644 index 0000000..f8ac6a3 --- /dev/null +++ b/usr/keylayout/Vendor_054c_Product_0268.kl @@ -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 diff --git a/usr/keylayout/Vendor_05ac_Product_0239.kl b/usr/keylayout/Vendor_05ac_Product_0239.kl new file mode 100644 index 0000000..6bd3753 --- /dev/null +++ b/usr/keylayout/Vendor_05ac_Product_0239.kl @@ -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 diff --git a/usr/keylayout/Vendor_22b8_Product_093d.kl b/usr/keylayout/Vendor_22b8_Product_093d.kl new file mode 100644 index 0000000..2749c5b --- /dev/null +++ b/usr/keylayout/Vendor_22b8_Product_093d.kl @@ -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 diff --git a/usr/keylayout/espresso-gpio-keypad.kl b/usr/keylayout/espresso-gpio-keypad.kl new file mode 100644 index 0000000..383fe6b --- /dev/null +++ b/usr/keylayout/espresso-gpio-keypad.kl @@ -0,0 +1,17 @@ +# 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. + +key 114 VOLUME_DOWN WAKE +key 115 VOLUME_UP WAKE +key 116 POWER WAKE diff --git a/usr/keylayout/qwerty.kl b/usr/keylayout/qwerty.kl new file mode 100644 index 0000000..f1caacd --- /dev/null +++ b/usr/keylayout/qwerty.kl @@ -0,0 +1,112 @@ +# 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. + +# +# Emulator keyboard layout #1. +# +# This file is no longer used as the platform's default keyboard layout. +# Refer to Generic.kl instead. +# + +key 399 GRAVE +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 158 BACK WAKE_DROPPED +key 230 SOFT_RIGHT WAKE +key 60 SOFT_RIGHT WAKE +key 107 ENDCALL WAKE_DROPPED +key 62 ENDCALL WAKE_DROPPED +key 229 MENU WAKE_DROPPED +key 139 MENU WAKE_DROPPED +key 59 MENU WAKE_DROPPED +key 127 SEARCH WAKE_DROPPED +key 217 SEARCH WAKE_DROPPED +key 228 POUND +key 227 STAR +key 231 CALL WAKE_DROPPED +key 61 CALL WAKE_DROPPED +key 232 DPAD_CENTER WAKE_DROPPED +key 108 DPAD_DOWN WAKE_DROPPED +key 103 DPAD_UP WAKE_DROPPED +key 102 HOME WAKE +key 105 DPAD_LEFT WAKE_DROPPED +key 106 DPAD_RIGHT WAKE_DROPPED +key 115 VOLUME_UP WAKE +key 114 VOLUME_DOWN WAKE +key 116 POWER WAKE +key 212 CAMERA + +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 43 BACKSLASH + +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 14 DEL + +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 28 ENTER + +key 56 ALT_LEFT +key 100 ALT_RIGHT +key 42 SHIFT_LEFT +key 54 SHIFT_RIGHT +key 15 TAB +key 57 SPACE +key 150 EXPLORER +key 155 ENVELOPE + +key 12 MINUS +key 13 EQUALS +key 215 AT + +# On an AT keyboard: ESC, F10 +key 1 BACK WAKE_DROPPED +key 68 MENU WAKE_DROPPED diff --git a/usr/keylayout/sec_keyboard.kl b/usr/keylayout/sec_keyboard.kl new file mode 100644 index 0000000..5a9a6b9 --- /dev/null +++ b/usr/keylayout/sec_keyboard.kl @@ -0,0 +1,93 @@ +key 158 BACK WAKE_DROPPED +key 359 HOME WAKE_DROPPED +key 61 RECENTAPPS WAKE_DROPPED +key 150 EXPLORER WAKE_DROPPED +key 215 EMAIL WAKE_DROPPED +key 152 POWER WAKE_DROPPED +key 224 BRIGHTNESS_DOWN WAKE_DROPPED +key 225 BRIGHTNESS_UP WAKE_DROPPED +key 113 MUTE WAKE_DROPPED +key 114 VOLUME_DOWN WAKE_DROPPED +key 115 VOLUME_UP WAKE_DROPPED +key 207 MEDIA_PLAY_PAUSE WAKE_DROPPED +key 168 MEDIA_REWIND WAKE_DROPPED +key 208 MEDIA_FAST_FORWARD WAKE_DROPPED +key 163 MEDIA_NEXT WAKE_DROPPED +key 165 MEDIA_PREVIOUS WAKE_DROPPED +key 185 APPLICATION WAKE_DROPPED +key 139 MENU WAKE_DROPPED +key 111 FORWARD_DEL WAKE_DROPPED + +key 41 GRAVE WAKE_DROPPED +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 12 MINUS WAKE_DROPPED +key 13 EQUALS WAKE_DROPPED +key 14 DEL WAKE_DROPPED + +key 15 TAB WAKE_DROPPED +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 26 LEFT_BRACKET WAKE_DROPPED +key 27 RIGHT_BRACKET WAKE_DROPPED +key 43 BACKSLASH WAKE_DROPPED + +key 58 CAPS_LOCK WAKE_DROPPED +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 39 SEMICOLON WAKE_DROPPED +key 40 APOSTROPHE WAKE_DROPPED +key 523 POUND WAKE_DROPPED +key 28 ENTER WAKE_DROPPED + +key 42 SHIFT_LEFT 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 53 SLASH WAKE_DROPPED +key 54 SHIFT_RIGHT WAKE_DROPPED + +key 29 CTRL_LEFT WAKE_DROPPED +key 187 SIP_ON_OFF WAKE_DROPPED +key 217 SEARCH WAKE_DROPPED +key 190 VOICESEARCH WAKE_DROPPED +key 57 SPACE WAKE_DROPPED +key 191 LANG WAKE_DROPPED +key 192 QPANEL_ON_OFF WAKE_DROPPED +key 100 ALT_GR WAKE_DROPPED + +key 108 DPAD_DOWN WAKE_DROPPED +key 103 DPAD_UP WAKE_DROPPED +key 105 DPAD_LEFT WAKE_DROPPED +key 106 DPAD_RIGHT WAKE_DROPPED + +key 143 NOTIFICATION WAKE
\ No newline at end of file |