├── .gitmodules ├── CONTRIBUTE_TO_DEVICE_TABLE.md ├── CONTRIBUTING_AND_ISSUE_TEMPLATE.md ├── DEVICES_AND_THEIR_KERNELS.md ├── HTCM7_patch_steps ├── ISSUE_TEMPLATE.md ├── LICENSE ├── README.md ├── compiled ├── ASUS_Zenfone-2_ZE551ML_unknown_unknown │ └── boot.img ├── Google_Nexus-4_MAKO_LINEAGEOS_14.1 │ ├── README.md │ └── boot.img ├── Google_Nexus-5_HAMMERHEAD_ANDROID_5.0 │ ├── boot.img │ └── readme.txt ├── Google_Nexus-6P_ANGLER_ANDROID_8.1 │ ├── boot.img │ └── readme.txt ├── Google_Nexus-7_GROUPER_ANDROID_5.1.1 │ ├── boot.img │ └── readme.txt ├── LG_G2_D802_CYANOGENMOD_12.0 │ ├── readme.txt │ └── update.zip ├── Motorola_Moto-G-Gen1_FALCON_LINEAGEOS_14.1 │ ├── README.md │ └── boot.img ├── Motorola_Moto-G4-Play_HARPIA_LINEAGEOS_14.1 │ ├── README.txt │ └── boot.img ├── Motorola_Moto-X-Gen2_VICTARA_LINEAGEOS_14.1 │ ├── README.md │ └── boot.img ├── Motorola_Photon-Q_XT897_CYANOGENMOD_11.0 │ └── boot.img ├── Samsung_Galaxy_Tab_2-espresso3g_LINEAGE-13.0 │ └── boot.img ├── Sony_Xperia-Z5-Compact_SUZURAN_ANDROID_unknown │ ├── boot.img │ └── readme.txt ├── Sony_Xperia-Z5-Premium_SATSUKI_ANDROID_unknown │ ├── boot.img │ └── readme.txt └── USB-Keyboard-app │ └── USB-Keyboard.apk ├── fastboot ├── AdbWinApi.dll ├── AdbWinUsbApi.dll ├── fastboot-linux ├── fastboot-mac └── fastboot-windows.exe ├── hid-gadget-test ├── hid-gadget-test ├── hid-gadget-test-mips ├── hid-gadget-test-x86 └── jni │ ├── Android.mk │ ├── Application.mk │ └── hid-gadget-test.c ├── old-do-not-use └── kernel-3.4-nexus4-mako.patch ├── patches ├── existing_not_tested │ ├── by-manufacturer-and-device-codename │ │ ├── htc_______endeavoru____kernel_3.01.patch │ │ ├── motorola__athene_______kernel_3.10.patch │ │ └── samsung___manta________kernel_3.04.patch │ └── by-manufacturer-and-soc │ │ └── samsung___smdk4412_____kernel_3.01.patch ├── existing_tested │ ├── README.md │ ├── by-generic-kernel-version │ │ ├── generic_kernel_3.01.patch │ │ ├── generic_kernel_3.04.patch │ │ ├── generic_kernel_3.18.patch │ │ └── generic_kernel_4.9.patch │ ├── by-manufacturer-and-device-codename │ │ ├── google____angler_______kernel_3.10.patch │ │ ├── google____bullhead_______kernel_3.10.patch │ │ ├── htc_______flounder_____kernel_3.10.patch │ │ ├── jiayu_____s3-h560______kernel_3.10.patch │ │ └── lge_______mako_________kernel_3.04.patch │ └── by-manufacturer-and-soc │ │ ├── htc_______msm8974______kernel_3.04.patch │ │ ├── motorola__msm8226______kernel_3.04.patch │ │ ├── motorola__msm8916______kernel_3.10.patch │ │ ├── motorola__msm8974______kernel_3.04.patch │ │ ├── motorola__msm8974______kernel_3.10.patch │ │ ├── samsung___apq8084______kernel_3.10.patch │ │ └── samsung___smdk4412_____kernel_3.00.patch └── not-yet-existing │ ├── for_deprecated_kernels_from_LOS │ ├── acer______t20-cm_______kernel_2.06.patch │ ├── acer______t30__________kernel_3.01.patch │ ├── alcatel___msm8916______kernel_3.10.patch │ ├── amazon____bowser-cm____kernel_3.00.patch │ ├── amazon____hdx-common___kernel_3.04.patch │ ├── amazon____otter-cm_____kernel_3.00.patch │ ├── asus______fugu_________kernel_3.10.patch │ ├── asus______tf101________kernel_2.06.patch │ ├── asus______tf300t_______kernel_3.01.patch │ ├── asus______tf701t_______kernel_3.04.patch │ ├── bn________acclaim______kernel_3.00.patch │ ├── bn________encore_______kernel_3.00.patch │ ├── bn________omap_________kernel_3.00.patch │ ├── bq________msm8916______kernel_3.10.patch │ ├── bq________msm8976______kernel_3.10.patch │ ├── cyanogen__msm8994______kernel_3.10.patch │ ├── cyanogen__mt6735_______kernel_3.18.patch │ ├── google____marlin_______kernel_3.18.patch │ ├── google____shamrock_____kernel_3.10.patch │ ├── google____steelhead____kernel_3.00.patch │ ├── hardkrnl__odroidc1_____kernel_3.10.patch │ ├── htc_______endeavoru____kernel_3.01.patch │ ├── htc_______enrc2b_______kernel_3.01.patch │ ├── htc_______liberty______kernel_2.06.patch │ ├── htc_______m7___________kernel_3.04.patch │ ├── htc_______msm7227______kernel_2.06.patch │ ├── htc_______msm8660______kernel_3.00.patch │ ├── huawei____msm8226______kernel_3.04.patch │ ├── huawei____msm8928______kernel_3.04.patch │ ├── lge_______dory_________kernel_3.10.patch │ ├── lge_______ls970________kernel_3.04.patch │ ├── lge_______pplus________kernel_3.10.patch │ ├── lge_______v909_________kernel_3.01.patch │ ├── mediatek__sprout_______kernel_3.04.patch │ ├── motorola__apq8084______kernel_3.10.patch │ ├── motorola__ghost________kernel_3.04.patch │ ├── motorola__msm8960dt-cm_kernel_3.04.patch │ ├── motorola__omap4-kxc-cm_kernel_3.00.patch │ ├── motorola__otus_________kernel_3.04.patch │ ├── motorola__titan________kernel_3.04.patch │ ├── nubia_____msm8996______kernel_3.18.patch │ ├── nvidia____shieldtablet_kernel_3.10.patch │ ├── oppo______find5________kernel_3.04.patch │ ├── oppo______n1___________kernel_3.04.patch │ ├── oppo______n3___________kernel_3.04.patch │ ├── samsung___aries________kernel_3.00.patch │ ├── samsung___crespo_______kernel_3.00.patch │ ├── samsung___epicmtd______kernel_3.00.patch │ ├── samsung___espresso10___kernel_3.00.patch │ ├── samsung___exy5410______kernel_3.04.patch │ ├── samsung___exy7420______kernel_3.10.patch │ ├── samsung___glxtab-cdma__kernel_2.06.patch │ ├── samsung___hlte_________kernel_3.04.patch │ ├── samsung___klimtwifi____kernel_3.04.patch │ ├── samsung___klte_________kernel_3.04.patch │ ├── samsung___ks01lte______kernel_3.04.patch │ ├── samsung___lt03lte______kernel_3.04.patch │ ├── samsung___lt03wifi_____kernel_3.04.patch │ ├── samsung___msm8660-cm___kernel_3.00.patch │ ├── samsung___msm8660-q1___kernel_3.00.patch │ ├── samsung___n1___________kernel_3.01.patch │ ├── samsung___noblelte_____kernel_3.10.patch │ ├── samsung___p1___________kernel_2.06.patch │ ├── samsung___p4___________kernel_3.01.patch │ ├── samsung___piranha______kernel_3.00.patch │ ├── samsung___s3ve3g_______kernel_3.04.patch │ ├── samsung___smdk4210_____kernel_3.00.patch │ ├── samsung___t1___________kernel_3.00.patch │ ├── samsung___trelte_______kernel_3.10.patch │ ├── samsung___trlte________kernel_3.10.patch │ ├── samsung___victory______kernel_2.06.patch │ ├── sony______flamingo_____kernel_3.04.patch │ ├── sony______mam7x27a-lgc_kernel_3.00.patch │ ├── sony______msm7x27a-lgc_kernel_3.00.patch │ ├── sony______msm7x27a_____kernel_3.04.patch │ ├── sony______msm8660______kernel_3.04.patch │ ├── sony______msm8930______kernel_3.04.patch │ ├── sony______msm8960t_____kernel_3.04.patch │ ├── sony______msm8974______kernel_3.04.patch │ ├── sony______msm8974pro___kernel_3.04.patch │ ├── sony______msm8994______kernel_3.10.patch │ ├── sony______msm8x27______kernel_3.04.patch │ ├── sony______msm8x60______kernel_3.04.patch │ ├── sony______msm__________kernel_3.10.patch │ ├── sony______tianchi______kernel_3.04.patch │ ├── toshiba___betelgeuse___kernel_3.01.patch │ ├── xiaomi____aries________kernel_3.04.patch │ ├── xiaomi____ferrari______kernel_3.10.patch │ ├── yu________msm8916______kernel_3.10.patch │ └── zte_______msm8994______kernel_3.10.patch │ └── for_up-to-date_kernels_from_LOS │ ├── ark_______msm8916______kernel_3.10.patch │ ├── asus______P024_________kernel_3.10.patch │ ├── asus______Z00D_________kernel_3.10.patch │ ├── asus______grouper______kernel_3.01.patch │ ├── asus______moorefield___kernel_3.10.patch │ ├── asus______msm8916______kernel_3.10.patch │ ├── asus______tf201________kernel_3.01.patch │ ├── asus______z00d_________kernel_3.10.patch │ ├── bq________msm8937______kernel_3.18.patch │ ├── bq________msm8939______kernel_3.10.patch │ ├── cyanogen__msm8916______kernel_3.10.patch │ ├── emulator__goldfish_____kernel_3.04.patch │ ├── fairphone_msm8974______kernel_3.04.patch │ ├── google____dragon_______kernel_3.18.patch │ ├── google____msm__________kernel_3.04.patch │ ├── google____seed_________kernel_3.10.patch │ ├── htc_______flounder_____kernel_3.10.patch │ ├── htc_______msm8952______kernel_3.10.patch │ ├── htc_______msm8960______kernel_3.04.patch │ ├── htc_______msm8974______kernel_3.04.patch │ ├── htc_______msm8994______kernel_3.10.patch │ ├── htc_______msm8996______kernel_3.18.patch │ ├── huawei____angler_______kernel_3.10.patch │ ├── huawei____kiwi_________kernel_3.10.patch │ ├── huawei____msm8916______kernel_3.10.patch │ ├── leeco_____msm8976______kernel_3.10.patch │ ├── leeco_____msm8996______kernel_3.18.patch │ ├── lenovo____msm8916______kernel_3.10.patch │ ├── lenovo____msm8953______kernel_3.18.patch │ ├── lenovo____msm8974______kernel_3.04.patch │ ├── lge_______bullhead_____kernel_3.10.patch │ ├── lge_______g3___________kernel_3.04.patch │ ├── lge_______hammerhead___kernel_3.04.patch │ ├── lge_______msm8226______kernel_3.04.patch │ ├── lge_______msm8916______kernel_3.10.patch │ ├── lge_______msm8952______kernel_3.10.patch │ ├── lge_______msm8974______kernel_3.04.patch │ ├── lge_______msm8992______kernel_3.10.patch │ ├── lge_______msm8996______kernel_3.18.patch │ ├── lge_______v4xx_________kernel_3.04.patch │ ├── lge_______v500_________kernel_3.04.patch │ ├── motorola__msm8226______kernel_3.04.patch │ ├── motorola__msm8610______kernel_3.04.patch │ ├── motorola__msm8916______kernel_3.10.patch │ ├── motorola__msm8953______kernel_3.18.patch │ ├── motorola__msm8960-cm___kernel_3.00.patch │ ├── motorola__msm8974______kernel_3.04.patch │ ├── motorola__msm8992______kernel_3.10.patch │ ├── motorola__msm8996______kernel_3.10.patch │ ├── motorola__mt6735_______kernel_3.18.patch │ ├── motorola__omap4-cm_____kernel_3.00.patch │ ├── motorola__shamu________kernel_3.10.patch │ ├── nextbit___msm8992______kernel_3.10.patch │ ├── nubia_____msm8939______kernel_3.10.patch │ ├── nvidia____roth_________kernel_3.04.patch │ ├── nvidia____shield_______kernel_3.10.patch │ ├── oneplus___msm8974______kernel_3.04.patch │ ├── oneplus___msm8994______kernel_3.10.patch │ ├── oneplus___msm8996______kernel_3.18.patch │ ├── oneplus___msm8998______kernel_4.04.patch │ ├── oneplus___onyx_________kernel_3.04.patch │ ├── oppo______msm8939______kernel_3.10.patch │ ├── oppo______msm8974______kernel_3.04.patch │ ├── qcom______msm8916______kernel_3.10.patch │ ├── qcom______msm8994______kernel_3.10.patch │ ├── qcom______msm8996______kernel_3.18.patch │ ├── samsung___apq8084______kernel_3.10.patch │ ├── samsung___d2___________kernel_3.04.patch │ ├── samsung___exy5420______kernel_3.04.patch │ ├── samsung___exy8890unv___kernel_3.18.patch │ ├── samsung___gts2_________kernel_3.10.patch │ ├── samsung___jf___________kernel_3.04.patch │ ├── samsung___k3gxx________kernel_3.10.patch │ ├── samsung___manta________kernel_3.04.patch │ ├── samsung___mondrianwifi_kernel_3.04.patch │ ├── samsung___msm8916______kernel_3.10.patch │ ├── samsung___msm8930-cm___kernel_3.04.patch │ ├── samsung___msm8974______kernel_3.04.patch │ ├── samsung___msm8976______kernel_3.10.patch │ ├── samsung___smdk4412_____kernel_3.00.patch │ ├── samsung___tuna_________kernel_3.00.patch │ ├── sony______apq8064______kernel_3.04.patch │ ├── ti________omap4________kernel_3.00.patch │ ├── wingtech__msm8916______kernel_3.10.patch │ ├── xiaomi____armani_______kernel_3.04.patch │ ├── xiaomi____cancro_______kernel_3.04.patch │ ├── xiaomi____msm8916______kernel_3.10.patch │ ├── xiaomi____msm8953______kernel_3.18.patch │ ├── xiaomi____msm8956______kernel_3.10.patch │ ├── xiaomi____msm8992______kernel_3.10.patch │ ├── xiaomi____msm8996______kernel_3.18.patch │ └── zte_______msm8996______kernel_3.18.patch ├── remote-client ├── .gitignore ├── AndroidAppSettings.cfg ├── AndroidData │ ├── Roboto-Regular.ttf │ ├── binaries-armeabi-v7a.zip │ ├── binaries-x86.zip │ └── images2.zip ├── CameraFeed.java ├── Makefile ├── camera.cpp ├── camera.h ├── flash_kernel.cpp ├── flash_kernel.h ├── gfx.cpp ├── gfx.h ├── gui.cpp ├── gui.h ├── gui_settings.cpp ├── icon.png ├── input.cpp ├── input.h ├── keysyms.txt ├── keysyms_convert.sh ├── main.cpp ├── scancodes.c ├── scancodes.h ├── tools.h ├── touchpad.cpp ├── touchpad.h ├── vnc_keysyms.cpp ├── vnc_keysyms.h ├── vnc_keysyms_unicode.h ├── vnc_server.cpp └── vnc_server.h └── send-pin-with-camera ├── .gitignore ├── AndroidManifest.xml ├── README.md ├── ant.properties ├── assets ├── droideye.js ├── extern.css ├── favicon.ico ├── flowplayer-3.2.11.min.js ├── flowplayer-3.2.15.swf ├── flowplayer.audio-3.2.10.swf ├── flowplayer.controls-3.2.14.swf ├── hid-gadget-test ├── hid-gadget-test-mips ├── hid-gadget-test-x86 ├── images │ └── black.png ├── index.html └── res │ ├── images │ ├── ajax-loader.gif │ ├── ajax-loader.png │ ├── icons-18-black.png │ ├── icons-18-white.png │ ├── icons-36-black.png │ └── icons-36-white.png │ ├── jQueryRotateCompressed.js │ ├── jquery-1.9.1.min.js │ ├── jquery.json-2.3.min.js │ ├── jquery.mobile-1.3.2.min.css │ ├── jquery.mobile-1.3.2.min.js │ ├── jquery.mobile.structure-1.1.1.min.css │ └── jquery.waitforimages.min.js ├── build.xml ├── jni ├── Android.mk ├── Application.mk ├── beginvision.h ├── libmp3lame │ ├── VbrTag.c │ ├── VbrTag.h │ ├── bitstream.c │ ├── bitstream.h │ ├── encoder.c │ ├── encoder.h │ ├── fft.c │ ├── fft.h │ ├── gain_analysis.c │ ├── gain_analysis.h │ ├── id3tag.c │ ├── id3tag.h │ ├── l3side.h │ ├── lame-analysis.h │ ├── lame.c │ ├── lame.def │ ├── lame.h │ ├── lame_global_flags.h │ ├── lameerror.h │ ├── machine.h │ ├── mpglib_interface.c │ ├── newmdct.c │ ├── newmdct.h │ ├── presets.c │ ├── psymodel.c │ ├── psymodel.h │ ├── quantize.c │ ├── quantize.h │ ├── quantize_pvt.c │ ├── quantize_pvt.h │ ├── reservoir.c │ ├── reservoir.h │ ├── set_get.c │ ├── set_get.h │ ├── tables.c │ ├── tables.h │ ├── takehiro.c │ ├── util.c │ ├── util.h │ ├── vbrquantize.c │ ├── vbrquantize.h │ ├── vector │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── lame_intrin.h │ │ └── xmm_quantize_sub.c │ ├── version.c │ └── version.h ├── libmp3lame_build.mk ├── libnatpmp │ ├── Changelog.txt │ ├── LICENSE │ ├── Makefile │ ├── README │ ├── build.bat │ ├── declspec.h │ ├── getgateway.c │ ├── getgateway.h │ ├── libnatpmpmodule.c │ ├── msvc │ │ ├── libnatpmp.sln │ │ ├── libnatpmp.vcproj │ │ └── natpmpc-static.vcproj │ ├── natpmp.c │ ├── natpmp.def │ ├── natpmp.h │ ├── natpmpc.1 │ ├── natpmpc.c │ ├── setup.py │ ├── setupmingw32.py │ ├── testgetgateway.c │ ├── wingettimeofday.c │ └── wingettimeofday.h ├── libnatpmp_build.mk ├── mp3encoder.cpp └── natpmpclient.cpp ├── libs ├── armeabi │ ├── libmp3encoder.so │ └── libnatpmp.so └── x86 │ ├── libmp3encoder.so │ └── libnatpmp.so ├── readme.txt ├── res ├── drawable │ └── icon.png ├── layout │ └── main.xml └── values │ └── strings.xml ├── send-pin-with-camera.apk └── src └── teaonly └── droideye ├── CameraView.java ├── MainActivity.java ├── NanoHTTPD.java ├── OverlayView.java ├── StreamingLoop.java ├── TeaServer.java └── VideoFrame.java /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "libvnc"] 2 | path = libvnc 3 | url = git@github.com:LibVNC/libvncserver.git 4 | [submodule "openssl"] 5 | path = openssl 6 | url = git@github.com:android/platform_external_openssl.git 7 | -------------------------------------------------------------------------------- /CONTRIBUTE_TO_DEVICE_TABLE.md: -------------------------------------------------------------------------------- 1 | If you want to help me improve the DEVICES_AND_THEIR_KERNELS table: 2 | - **What** information about your device do we need? 3 | - MANUFACTURER, 4 | - DEVICE_NAME, 5 | - DEVICE_CODENAME, 6 | - MODEL_NUMBER, 7 | - SYSTEM_ON_CHIP_CODENAME = SOC, 8 | - LINEAGEOS_LINUX_KERNEL_SRC = LOSK_SRC, 9 | - LINEAGEOS_LINUX_KERNEL_VERSION = LOSK_VERS, 10 | - MANUFACTURER_LINUX_KERNEL_SRC = MNFK_SRC, 11 | - MANUFACTURER_LINUX_KERNEL_VERSION = MNFK_VERS, 12 | - **Where / how to find** ? 13 | - with **Google search** 14 | - **on your device**: settings > About Phone 15 | => "Device model" tells you the DEVICE_NAME 16 | => the last few characters at "Android version" should tell you the DEVICE_CODENAME 17 | => the first few characters at "Baseband version" should tell you the SOC 18 | => the first numbers at "Kernel version" tell you the MANUFACTURER_KERNEL_VERSION = MNFK_VERS 19 | - on the **LineageOS website**: 20 | - If you know the DEVICE_NAME: on the [Download website](https://download.lineageos.org/) 21 | => you can get the DEVICE_CODENAME 22 | - If you know the DEVICE_CODENAME: on the [CVE tracker](https://cve.lineageos.org/devices/) 23 | => you can get the MANUFACTURER + SOC + LOSK_SRC + LOSK_VERS + LINEAGEOS_DEVICE_REPO_URL => MODEL_NUMBER 24 | - If you know the DEVICE_CODENAME: in the [Wiki](https://wiki.lineageos.org/) - add the device codename at the end of the URL! 25 | => you can get the DEVICE_NAME + MODEL_NUMBER 26 | - in **Wikipedia**: if you know the DEVICE_NAME, 27 | => you can get the MODEL_NUMBER 28 | - on the **Manufacturer** website: If you know the MODEL_NUMBER, MANUFACTURER and / or the DEVICE_CODENAME, 29 | => you can download the kernel source code for the specific device! 30 | The kernel src code includes the MANUFACTURER_LINUX_KERNEL_VERSION = MNFK_VERS in its top-level **Makefile**. 31 | To get the MANUFACTURER_KERNEL_SRC , **note** the URL from which the download started! 32 | - **Sony Xperia**: 33 | ``https://developer.sonymobile.com/downloads/xperia-open-source-archives/`` 34 | ``https://github.com/sonyxperiadev/device-sony-$DEVICE_CODENAME`` 35 | - **Google**: 36 | ``https://android.googlesource.com/device/$MANUFACTURER/$DEVICE_CODENAME/`` 37 | - **Motorola**: 38 | ``https://github.com/MotorolaMobilityLLC/kernel-msm/releases/`` 39 | - **Samsung**: 40 | ``http://opensource.samsung.com/reception/receptionSub.do?method-sub&searchValue=$MODEL_NUMBER`` 41 | 42 | -------------------------------------------------------------------------------- /HTCM7_patch_steps: -------------------------------------------------------------------------------- 1 | This patch is for the HTC ONE M7 running kernels 3.4.111 or 3.4.113 2 | 3 | I used the source kernels cm-13.0 and cm14.1 from the below github, however, the following steps may or may not work on other kernels for the HTC M7 4 | 5 | https://github.com/9Lukas5/android_kernel_htc_msm8960 6 | 7 | Some of the below steps do require you to go into the files and manually add/edit lines, if you don't feel you can do this, then please don't attempt it. 8 | 9 | 10 | Step 1, 11 | 12 | Download the patch kernel-3.10-nexus6.patch and place it within the root of your building enviroment. 13 | 14 | 15 | Step 2, 16 | 17 | Run the following cmd 18 | 19 | patch -p1 < kernel-3.10-nexus6.patch 20 | 21 | You should be greeted with the below print out. 22 | 23 | 24 | patching file drivers/usb/gadget/Makefile 25 | Hunk #1 FAILED at 67. 26 | 1 out of 1 hunk FAILED -- saving rejects to file drivers/usb/gadget/Makefile.rej 27 | patching file drivers/usb/gadget/android.c 28 | Hunk #1 FAILED at 62. 29 | Hunk #2 succeeded at 1813 with fuzz 2 (offset -879 lines). 30 | Hunk #3 FAILED at 2755. 31 | Hunk #4 succeeded at 2148 (offset -959 lines). 32 | 2 out of 4 hunks FAILED -- saving rejects to file drivers/usb/gadget/android.c.rej 33 | patching file drivers/usb/gadget/f_hid.c 34 | Hunk #1 FAILED at 17. 35 | Hunk #2 succeeded at 52 with fuzz 1 (offset -8 lines). 36 | Hunk #3 succeeded at 177 with fuzz 1 (offset -36 lines). 37 | Hunk #4 succeeded at 236 (offset -52 lines). 38 | Hunk #5 succeeded at 255 (offset -52 lines). 39 | Hunk #6 succeeded at 300 (offset -52 lines). 40 | Hunk #7 succeeded at 401 (offset -9 lines). 41 | Hunk #8 succeeded at 420 (offset -9 lines). 42 | Hunk #9 succeeded at 524 (offset -112 lines). 43 | Hunk #10 succeeded at 596 (offset -114 lines). 44 | Hunk #11 succeeded at 618 (offset -112 lines). 45 | Hunk #12 succeeded at 668 (offset -109 lines). 46 | Hunk #13 succeeded at 719 (offset -112 lines). 47 | 1 out of 13 hunks FAILED -- saving rejects to file drivers/usb/gadget/f_hid.c.rej 48 | patching file drivers/usb/gadget/f_hid.h 49 | patching file drivers/usb/gadget/f_hid_android_keyboard.c 50 | patching file drivers/usb/gadget/f_hid_android_mouse.c 51 | 52 | 53 | Step 3, 54 | 55 | Now navigate to the directory 56 | 57 | drivers/usb/gadget/Makefile 58 | 59 | find the line 60 | 61 | g_android-y := android.o 62 | 63 | Replace it with the below line and save 64 | 65 | g_android-y := android.o f_hid.o 66 | 67 | 68 | Step 4 69 | 70 | Navigate to the file 71 | 72 | drivers/usb/gadget/android.c 73 | 74 | Find the line 75 | 76 | #include "f_accessory.c" 77 | 78 | Make a new line and add the following three lines 79 | 80 | #include "f_hid.h" 81 | #include "f_hid_android_keyboard.c" 82 | #include "f_hid_android_mouse.c" 83 | 84 | In the same file, find the line 85 | 86 | &audio_source_function, 87 | 88 | Create a new line, add the following and save the file. 89 | 90 | &hid_function, 91 | 92 | 93 | Step 5, 94 | 95 | Navigate to the file 96 | 97 | drivers/usb/gadget/f_hid.c 98 | 99 | find the line 100 | 101 | #include 102 | 103 | create a new line, add the following line. 104 | 105 | #include 106 | 107 | In the same file, directly below 108 | 109 | #include 110 | 111 | add the following file, then save. 112 | 113 | #include "f_hid.h" 114 | 115 | -------------------------------------------------------------------- 116 | 117 | That's it, you're now done and can carry on building your kernel. 118 | 119 | 120 | -------------------------------------------------------------------------------- /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Please first read CONTRIBUTING_AND_ISSUE_TEMPLATE.md and do some research about your device! 2 | 3 | I will close your issue without answering if you don't provide me enough information about... 4 | 1. your device (DEVICE_CODENAME, KERNEL_VERSION, etc.) 5 | 2. what is not working 6 | 3. what exactly you would like to have / do. 7 | -------------------------------------------------------------------------------- /compiled/ASUS_Zenfone-2_ZE551ML_unknown_unknown/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/ASUS_Zenfone-2_ZE551ML_unknown_unknown/boot.img -------------------------------------------------------------------------------- /compiled/Google_Nexus-4_MAKO_LINEAGEOS_14.1/README.md: -------------------------------------------------------------------------------- 1 | kernel version: 3.4.0 2 | LineageOS version: 14.1.2 3 | -------------------------------------------------------------------------------- /compiled/Google_Nexus-4_MAKO_LINEAGEOS_14.1/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Google_Nexus-4_MAKO_LINEAGEOS_14.1/boot.img -------------------------------------------------------------------------------- /compiled/Google_Nexus-5_HAMMERHEAD_ANDROID_5.0/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Google_Nexus-5_HAMMERHEAD_ANDROID_5.0/boot.img -------------------------------------------------------------------------------- /compiled/Google_Nexus-5_HAMMERHEAD_ANDROID_5.0/readme.txt: -------------------------------------------------------------------------------- 1 | This boot image is for Nexus 5 with stock Android 5.0. 2 | -------------------------------------------------------------------------------- /compiled/Google_Nexus-6P_ANGLER_ANDROID_8.1/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Google_Nexus-6P_ANGLER_ANDROID_8.1/boot.img -------------------------------------------------------------------------------- /compiled/Google_Nexus-6P_ANGLER_ANDROID_8.1/readme.txt: -------------------------------------------------------------------------------- 1 | This boot image is for Nexus 6P with stock Android 8.1. (Security Patch: December 5, 2018) 2 | 3 | https://github.com/BenWoodworth/Nexus-6P-HID-Gadget/releases 4 | 5 | -------------------------------------------------------------------------------- /compiled/Google_Nexus-7_GROUPER_ANDROID_5.1.1/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Google_Nexus-7_GROUPER_ANDROID_5.1.1/boot.img -------------------------------------------------------------------------------- /compiled/Google_Nexus-7_GROUPER_ANDROID_5.1.1/readme.txt: -------------------------------------------------------------------------------- 1 | This boot image is for Nexus 7 2012 WiFi variant with stock Android 5.1.1. 2 | To get boot image for Android 5.0.2, check out Git commit e44670. 3 | To get boot image for Android 4.4.4, check out Git commit bfcefa. 4 | -------------------------------------------------------------------------------- /compiled/LG_G2_D802_CYANOGENMOD_12.0/readme.txt: -------------------------------------------------------------------------------- 1 | This boot image is for LG G2 D802, with Cyanogenmod 12.0, Android 5.0.2. It will not work on stock ROM. 2 | Copy update.zip to SD card and flash it from recovery. Flashing from fastboot will not work. 3 | -------------------------------------------------------------------------------- /compiled/LG_G2_D802_CYANOGENMOD_12.0/update.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/LG_G2_D802_CYANOGENMOD_12.0/update.zip -------------------------------------------------------------------------------- /compiled/Motorola_Moto-G-Gen1_FALCON_LINEAGEOS_14.1/README.md: -------------------------------------------------------------------------------- 1 | kernel version: 3.4.113 2 | lineageos version: 14.1 3 | -------------------------------------------------------------------------------- /compiled/Motorola_Moto-G-Gen1_FALCON_LINEAGEOS_14.1/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Motorola_Moto-G-Gen1_FALCON_LINEAGEOS_14.1/boot.img -------------------------------------------------------------------------------- /compiled/Motorola_Moto-G4-Play_HARPIA_LINEAGEOS_14.1/README.txt: -------------------------------------------------------------------------------- 1 | This kernel is compiled for lineageos 14.1 2 | sources: 3 | 4 | Device tree: 5 | https://github.com/TimsTechDev/android_device_motorola_harpia/ 6 | Kernel source: 7 | https://github.com/TimsTechDev/android_kernel_motorola_msm8916/ 8 | -------------------------------------------------------------------------------- /compiled/Motorola_Moto-G4-Play_HARPIA_LINEAGEOS_14.1/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Motorola_Moto-G4-Play_HARPIA_LINEAGEOS_14.1/boot.img -------------------------------------------------------------------------------- /compiled/Motorola_Moto-X-Gen2_VICTARA_LINEAGEOS_14.1/README.md: -------------------------------------------------------------------------------- 1 | kernel version: 3.4.42 2 | LineageOS version: 14.1.2 3 | -------------------------------------------------------------------------------- /compiled/Motorola_Moto-X-Gen2_VICTARA_LINEAGEOS_14.1/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Motorola_Moto-X-Gen2_VICTARA_LINEAGEOS_14.1/boot.img -------------------------------------------------------------------------------- /compiled/Motorola_Photon-Q_XT897_CYANOGENMOD_11.0/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Motorola_Photon-Q_XT897_CYANOGENMOD_11.0/boot.img -------------------------------------------------------------------------------- /compiled/Samsung_Galaxy_Tab_2-espresso3g_LINEAGE-13.0/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Samsung_Galaxy_Tab_2-espresso3g_LINEAGE-13.0/boot.img -------------------------------------------------------------------------------- /compiled/Sony_Xperia-Z5-Compact_SUZURAN_ANDROID_unknown/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Sony_Xperia-Z5-Compact_SUZURAN_ANDROID_unknown/boot.img -------------------------------------------------------------------------------- /compiled/Sony_Xperia-Z5-Compact_SUZURAN_ANDROID_unknown/readme.txt: -------------------------------------------------------------------------------- 1 | boot.img for Sony Z5-compact. 2 | The kernel has coincidentally been configured to work with some Nethunter /Kali tools, but this will boot stock sony experia. 3 | Kernel version patched is 32.2.A.0.305 4 | The ramdisk has TWRP installed, and needs to be rooted with chainfire systemless root.zip 5 | -------------------------------------------------------------------------------- /compiled/Sony_Xperia-Z5-Premium_SATSUKI_ANDROID_unknown/boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/Sony_Xperia-Z5-Premium_SATSUKI_ANDROID_unknown/boot.img -------------------------------------------------------------------------------- /compiled/Sony_Xperia-Z5-Premium_SATSUKI_ANDROID_unknown/readme.txt: -------------------------------------------------------------------------------- 1 | This boot image is for Sony Xperia Z5 Premium E6853. 2 | Used for Kali Linux, but supposedly can boot Android too. 3 | 4 | -------------------------------------------------------------------------------- /compiled/USB-Keyboard-app/USB-Keyboard.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/compiled/USB-Keyboard-app/USB-Keyboard.apk -------------------------------------------------------------------------------- /fastboot/AdbWinApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/fastboot/AdbWinApi.dll -------------------------------------------------------------------------------- /fastboot/AdbWinUsbApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/fastboot/AdbWinUsbApi.dll -------------------------------------------------------------------------------- /fastboot/fastboot-linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/fastboot/fastboot-linux -------------------------------------------------------------------------------- /fastboot/fastboot-mac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/fastboot/fastboot-mac -------------------------------------------------------------------------------- /fastboot/fastboot-windows.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/fastboot/fastboot-windows.exe -------------------------------------------------------------------------------- /hid-gadget-test/hid-gadget-test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/hid-gadget-test/hid-gadget-test -------------------------------------------------------------------------------- /hid-gadget-test/hid-gadget-test-mips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/hid-gadget-test/hid-gadget-test-mips -------------------------------------------------------------------------------- /hid-gadget-test/hid-gadget-test-x86: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/hid-gadget-test/hid-gadget-test-x86 -------------------------------------------------------------------------------- /hid-gadget-test/jni/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := hid-gadget-test 6 | 7 | LOCAL_SRC_FILES := hid-gadget-test.c 8 | 9 | LOCAL_CFLAGS += -fPIE 10 | LOCAL_LDFLAGS += -fPIE -pie 11 | 12 | include $(BUILD_EXECUTABLE) 13 | -------------------------------------------------------------------------------- /hid-gadget-test/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-14 2 | APP_ABI := armeabi x86 mips 3 | -------------------------------------------------------------------------------- /patches/existing_tested/README.md: -------------------------------------------------------------------------------- 1 | Please read [DEVICES_AND_THEIR_KERNELS.md](DEVICES_AND_THEIR_KERNELS.md) first 2 | to find out your DEVICE_CODENAME, MANUFACTURER, SOC and KERNEL_VERSION (LOSK_VERS / MNFK_VERS). 3 | - First search for your device by its DEVICE_CODENAME in by-device-codename. 4 | - If you can't find your device patch by its DEVICE_CODENAME, search for your device by its MANUFACTURER+SOC combination in by-soc-and-manufacturer 5 | - If you can't find your device patch by its SOC+MANUFACTURER combo, search for a suitable KERNEL_VERSION patch in by-kernel-version 6 | 7 | If you have problems / would like to create an issue, consult [CONTRIBUTING_AND_ISSUE_TEMPLATE.md](CONTRIBUTING_AND_ISSUE_TEMPLATE.md)! 8 | -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/acer______t20-cm_______kernel_2.06.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/acer______t20-cm_______kernel_2.06.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/acer______t30__________kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/acer______t30__________kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/alcatel___msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/alcatel___msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/amazon____bowser-cm____kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/amazon____bowser-cm____kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/amazon____hdx-common___kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/amazon____hdx-common___kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/amazon____otter-cm_____kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/amazon____otter-cm_____kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/asus______fugu_________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/asus______fugu_________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/asus______tf101________kernel_2.06.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/asus______tf101________kernel_2.06.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/asus______tf300t_______kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/asus______tf300t_______kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/asus______tf701t_______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/asus______tf701t_______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/bn________acclaim______kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/bn________acclaim______kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/bn________encore_______kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/bn________encore_______kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/bn________omap_________kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/bn________omap_________kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/bq________msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/bq________msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/bq________msm8976______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/bq________msm8976______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/cyanogen__msm8994______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/cyanogen__msm8994______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/cyanogen__mt6735_______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/cyanogen__mt6735_______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/google____marlin_______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/google____marlin_______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/google____shamrock_____kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/google____shamrock_____kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/google____steelhead____kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/google____steelhead____kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/hardkrnl__odroidc1_____kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/hardkrnl__odroidc1_____kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______endeavoru____kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______endeavoru____kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______enrc2b_______kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______enrc2b_______kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______liberty______kernel_2.06.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______liberty______kernel_2.06.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______m7___________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______m7___________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______msm7227______kernel_2.06.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______msm7227______kernel_2.06.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______msm8660______kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/htc_______msm8660______kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/huawei____msm8226______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/huawei____msm8226______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/huawei____msm8928______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/huawei____msm8928______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/lge_______dory_________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/lge_______dory_________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/lge_______ls970________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/lge_______ls970________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/lge_______pplus________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/lge_______pplus________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/lge_______v909_________kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/lge_______v909_________kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/mediatek__sprout_______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/mediatek__sprout_______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__apq8084______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__apq8084______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__ghost________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__ghost________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__msm8960dt-cm_kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__msm8960dt-cm_kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__omap4-kxc-cm_kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__omap4-kxc-cm_kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__otus_________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__otus_________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__titan________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/motorola__titan________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/nubia_____msm8996______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/nubia_____msm8996______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/nvidia____shieldtablet_kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/nvidia____shieldtablet_kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/oppo______find5________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/oppo______find5________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/oppo______n1___________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/oppo______n1___________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/oppo______n3___________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/oppo______n3___________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___aries________kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___aries________kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___crespo_______kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___crespo_______kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___epicmtd______kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___epicmtd______kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___espresso10___kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___espresso10___kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___exy5410______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___exy5410______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___exy7420______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___exy7420______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___glxtab-cdma__kernel_2.06.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___glxtab-cdma__kernel_2.06.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___hlte_________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___hlte_________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___klimtwifi____kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___klimtwifi____kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___klte_________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___klte_________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___ks01lte______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___ks01lte______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___lt03lte______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___lt03lte______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___lt03wifi_____kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___lt03wifi_____kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___msm8660-cm___kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___msm8660-cm___kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___msm8660-q1___kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___msm8660-q1___kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___n1___________kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___n1___________kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___noblelte_____kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___noblelte_____kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___p1___________kernel_2.06.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___p1___________kernel_2.06.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___p4___________kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___p4___________kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___piranha______kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___piranha______kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___s3ve3g_______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___s3ve3g_______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___smdk4210_____kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___smdk4210_____kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___t1___________kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___t1___________kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___trelte_______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___trelte_______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___trlte________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___trlte________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___victory______kernel_2.06.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/samsung___victory______kernel_2.06.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______flamingo_____kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______flamingo_____kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______mam7x27a-lgc_kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______mam7x27a-lgc_kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm7x27a-lgc_kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm7x27a-lgc_kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm7x27a_____kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm7x27a_____kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8660______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8660______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8930______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8930______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8960t_____kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8960t_____kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8974______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8974______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8974pro___kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8974pro___kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8994______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8994______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8x27______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8x27______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8x60______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm8x60______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm__________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______msm__________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______tianchi______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/sony______tianchi______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/toshiba___betelgeuse___kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/toshiba___betelgeuse___kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/xiaomi____aries________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/xiaomi____aries________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/xiaomi____ferrari______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/xiaomi____ferrari______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/yu________msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/yu________msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_deprecated_kernels_from_LOS/zte_______msm8994______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_deprecated_kernels_from_LOS/zte_______msm8994______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/ark_______msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/ark_______msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______P024_________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______P024_________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______Z00D_________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______Z00D_________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______grouper______kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______grouper______kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______moorefield___kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______moorefield___kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______tf201________kernel_3.01.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______tf201________kernel_3.01.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______z00d_________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/asus______z00d_________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/bq________msm8937______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/bq________msm8937______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/bq________msm8939______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/bq________msm8939______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/cyanogen__msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/cyanogen__msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/emulator__goldfish_____kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/emulator__goldfish_____kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/fairphone_msm8974______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/fairphone_msm8974______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/google____dragon_______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/google____dragon_______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/google____msm__________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/google____msm__________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/google____seed_________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/google____seed_________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______flounder_____kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______flounder_____kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8952______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8952______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8960______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8960______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8974______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8974______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8994______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8994______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8996______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/htc_______msm8996______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/huawei____angler_______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/huawei____angler_______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/huawei____kiwi_________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/huawei____kiwi_________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/huawei____msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/huawei____msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/leeco_____msm8976______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/leeco_____msm8976______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/leeco_____msm8996______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/leeco_____msm8996______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lenovo____msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lenovo____msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lenovo____msm8953______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lenovo____msm8953______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lenovo____msm8974______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lenovo____msm8974______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______bullhead_____kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______bullhead_____kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______g3___________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______g3___________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______hammerhead___kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______hammerhead___kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8226______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8226______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8952______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8952______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8974______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8974______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8992______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8992______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8996______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______msm8996______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______v4xx_________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______v4xx_________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______v500_________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/lge_______v500_________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8226______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8226______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8610______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8610______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8953______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8953______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8960-cm___kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8960-cm___kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8974______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8974______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8992______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8992______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8996______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__msm8996______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__mt6735_______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__mt6735_______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__omap4-cm_____kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__omap4-cm_____kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__shamu________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/motorola__shamu________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/nextbit___msm8992______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/nextbit___msm8992______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/nubia_____msm8939______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/nubia_____msm8939______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/nvidia____roth_________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/nvidia____roth_________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/nvidia____shield_______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/nvidia____shield_______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oneplus___msm8974______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oneplus___msm8974______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oneplus___msm8996______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oneplus___msm8996______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oneplus___msm8998______kernel_4.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oneplus___msm8998______kernel_4.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oneplus___onyx_________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oneplus___onyx_________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oppo______msm8939______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oppo______msm8939______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oppo______msm8974______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/oppo______msm8974______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/qcom______msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/qcom______msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/qcom______msm8994______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/qcom______msm8994______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/qcom______msm8996______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/qcom______msm8996______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___apq8084______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___apq8084______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___d2___________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___d2___________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___exy5420______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___exy5420______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___exy8890unv___kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___exy8890unv___kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___gts2_________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___gts2_________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___jf___________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___jf___________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___k3gxx________kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___k3gxx________kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___manta________kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___manta________kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___mondrianwifi_kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___mondrianwifi_kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___msm8930-cm___kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___msm8930-cm___kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___msm8974______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___msm8974______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___msm8976______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___msm8976______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___smdk4412_____kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___smdk4412_____kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___tuna_________kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/samsung___tuna_________kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/sony______apq8064______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/sony______apq8064______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/ti________omap4________kernel_3.00.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/ti________omap4________kernel_3.00.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/wingtech__msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/wingtech__msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____armani_______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____armani_______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____cancro_______kernel_3.04.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____cancro_______kernel_3.04.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8916______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8916______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8953______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8953______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8956______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8956______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8992______kernel_3.10.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8992______kernel_3.10.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8996______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/xiaomi____msm8996______kernel_3.18.patch -------------------------------------------------------------------------------- /patches/not-yet-existing/for_up-to-date_kernels_from_LOS/zte_______msm8996______kernel_3.18.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/patches/not-yet-existing/for_up-to-date_kernels_from_LOS/zte_______msm8996______kernel_3.18.patch -------------------------------------------------------------------------------- /remote-client/.gitignore: -------------------------------------------------------------------------------- 1 | Roboto-Regular.ttf 2 | ic_action_settings.png 3 | ic_menu_paste_holo_dark.png 4 | ic_menu_paste_holo_light.png 5 | keyboard.png 6 | usb-keyboard-client 7 | -------------------------------------------------------------------------------- /remote-client/AndroidData/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/remote-client/AndroidData/Roboto-Regular.ttf -------------------------------------------------------------------------------- /remote-client/AndroidData/binaries-armeabi-v7a.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/remote-client/AndroidData/binaries-armeabi-v7a.zip -------------------------------------------------------------------------------- /remote-client/AndroidData/binaries-x86.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/remote-client/AndroidData/binaries-x86.zip -------------------------------------------------------------------------------- /remote-client/AndroidData/images2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/remote-client/AndroidData/images2.zip -------------------------------------------------------------------------------- /remote-client/Makefile: -------------------------------------------------------------------------------- 1 | SRCS=$(wildcard *.cpp *.c) 2 | HDRS=$(wildcard *.h) 3 | 4 | usb-keyboard-client: $(SRCS) 5 | g++ -g -o $@ $+ -lSDL_ttf -lSDL_image `sdl-config --cflags` `sdl-config --libs` 6 | cp AndroidData/*.ttf . 7 | unzip -n AndroidData/images*.zip 8 | 9 | libapplication-$(ARCH).so: $(OBJS) 10 | $(CXX) -o $@ $+ -lsdl_ttf -lsdl_image -lsdl-1.2 -ljpeg -lpng -lz -llog 11 | 12 | OBJS=$(patsubst %.cpp, obj/%.o, $(patsubst %.c, obj/%.o, $(SRCS))) 13 | $(OBJS): obj 14 | 15 | define SRC2OBJ 16 | $$(patsubst %.cpp, obj/%.o, $$(patsubst %.c, obj/%.o, $$(SRC))): obj $$(SRC) $(HDRS) 17 | $$(CXX) -o $@ $$(SRC) 18 | endef 19 | 20 | $(foreach SRC, $(SRCS), $(eval $(SRC2OBJ))) 21 | 22 | obj: 23 | mkdir -p $@ 24 | -------------------------------------------------------------------------------- /remote-client/camera.h: -------------------------------------------------------------------------------- 1 | #ifndef __CAMERA_H__ 2 | #define __CAMERA_H__ 3 | 4 | // Camera always captures in RGB565 format 5 | 6 | typedef void (*CameraCallback_t) (void); 7 | 8 | void openCamera(int *width, int *height, int fps, unsigned char ** buffer, int *bufferLength, CameraCallback_t callback); 9 | 10 | void closeCamera(); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /remote-client/flash_kernel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Sergii Pylypenko 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _XSDL_FLASH_KERNEL_H_ 18 | #define _XSDL_FLASH_KERNEL_H_ 19 | 20 | int flashCustomKernel(); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /remote-client/gfx.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Sergii Pylypenko 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | #include "gfx.h" 23 | 24 | static TTF_Font* sFont; 25 | 26 | void showErrorMessage(const char *msg) 27 | { 28 | SDL_Event event; 29 | const char * s; 30 | int y = VID_Y/4; 31 | printf("Error: %s", msg); 32 | SDL_FillRect(SDL_GetVideoSurface(), NULL, 0); 33 | for( s = msg; s && s[0]; s = strchr(s, '\n'), s += (s ? 1 : 0), y += 35 ) 34 | { 35 | const char * s1 = strchr(s, '\n'); 36 | int len = s1 ? s1 - s : strlen(s); 37 | char buf[512]; 38 | strncpy(buf, s, len); 39 | buf[len] = 0; 40 | if( len > 0 ) 41 | renderString(buf, VID_X/2, y); 42 | } 43 | SDL_Flip(SDL_GetVideoSurface()); 44 | while (1) 45 | { 46 | while (SDL_WaitEvent(&event)) 47 | { 48 | switch (event.type) 49 | { 50 | case SDL_KEYDOWN: 51 | if (event.key.keysym.sym == SDLK_UNDO || event.key.keysym.sym == SDLK_ESCAPE) 52 | exit(1); 53 | //break; 54 | } 55 | } 56 | } 57 | } 58 | 59 | void initSDL() 60 | { 61 | SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK); 62 | 63 | #ifdef __ANDROID__ 64 | if( SDL_ListModes(NULL, 0)[0]->w > SDL_ListModes(NULL, 0)[0]->h ) 65 | SDL_SetVideoMode(VID_X, VID_Y, 16, SDL_SWSURFACE); 66 | else 67 | SDL_SetVideoMode(VID_Y, VID_X, 16, SDL_SWSURFACE); 68 | #else 69 | SDL_SetVideoMode(VID_X, VID_Y, 16, SDL_SWSURFACE); 70 | #endif 71 | SDL_EnableUNICODE(1); 72 | TTF_Init(); 73 | sFont = TTF_OpenFont("Roboto-Regular.ttf", TEXT_H); 74 | if (!sFont) 75 | { 76 | printf("Error: cannot open font file, please reinstall the app"); 77 | exit(1); 78 | } 79 | SDL_JoystickOpen(0); 80 | 81 | SDL_FillRect(SDL_GetVideoSurface(), NULL, 0); 82 | renderString("Opening /dev/hidg0 and /dev/hidg1", VID_X / 2, VID_Y / 2); 83 | SDL_Flip(SDL_GetVideoSurface()); 84 | } 85 | 86 | void deinitSDL() 87 | { 88 | TTF_CloseFont(sFont); 89 | sFont = NULL; 90 | TTF_Quit(); 91 | SDL_Quit(); 92 | } 93 | 94 | void renderStringColor(const char *c, int x, int y, int r, int g, int b, SDL_Surface * surf) 95 | { 96 | if( strcmp(c, "") == 0 ) 97 | return; 98 | SDL_Color fColor = {r, g, b}; 99 | SDL_Rect fontRect = {0, 0, 0, 0}; 100 | SDL_Surface* fontSurface = TTF_RenderUTF8_Blended(sFont, c, fColor); 101 | fontRect.w = fontSurface->w; 102 | fontRect.h = fontSurface->h; 103 | fontRect.x = x - fontRect.w / 2; 104 | fontRect.y = y - fontRect.h / 2; 105 | SDL_BlitSurface(fontSurface, NULL, surf, &fontRect); 106 | SDL_FreeSurface(fontSurface); 107 | } 108 | 109 | void renderString(const char *c, int x, int y) 110 | { 111 | renderStringColor(c, x, y, 255, 255, 255, SDL_GetVideoSurface()); 112 | } 113 | 114 | void drawImageCentered(SDL_Surface * img, int x, int y, SDL_Surface * surf) 115 | { 116 | SDL_Rect r; 117 | r.x = x - img->w / 2; 118 | r.y = y - img->h / 2; 119 | r.w = img->w; 120 | r.h = img->h; 121 | SDL_BlitSurface(img, NULL, surf, &r); 122 | } 123 | -------------------------------------------------------------------------------- /remote-client/gfx.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Sergii Pylypenko 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _XSDL_GFX_H_ 18 | #define _XSDL_GFX_H_ 19 | 20 | #include 21 | 22 | #ifdef ANDROID 23 | #include 24 | #include 25 | #define printf(...) __android_log_print(ANDROID_LOG_INFO, "HID keyboard", __VA_ARGS__) 26 | #endif 27 | 28 | enum { VID_X = 640, VID_Y = 480, TEXT_H = 14 }; 29 | 30 | void initSDL(); 31 | void deinitSDL(); 32 | void renderStringColor(const char *c, int x, int y, int r, int g, int b, SDL_Surface * surf = SDL_GetVideoSurface()); 33 | void renderString(const char *c, int x, int y); 34 | void showErrorMessage(const char *msg); 35 | void drawImageCentered(SDL_Surface * img, int x, int y, SDL_Surface * surf = SDL_GetVideoSurface()); 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /remote-client/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Sergii Pylypenko 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _XSDL_GUI_H_ 18 | #define _XSDL_GUI_H_ 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | enum { MAX_POINTERS = 8 }; 25 | 26 | extern struct TouchPointer_t { int x; int y; int pressure; int pressed; bool delayRelease; } touchPointers[MAX_POINTERS]; 27 | 28 | struct GuiElement_t; 29 | 30 | typedef void (*GuiElementCallback_t) (GuiElement_t * elem, bool pressed, int x, int y); 31 | 32 | struct GuiElement_t 33 | { 34 | SDL_Rect rect; 35 | std::vector text; 36 | GuiElementCallback_t input; 37 | GuiElementCallback_t draw; 38 | bool toggled; // Default draw function will use that to change element color. 39 | int x, y; // Last input coordinates. 40 | bool locked; // For use as a toggle-button. 41 | int data; // Internal state to use by callbacks. 42 | 43 | GuiElement_t(const char * text = "", int x = 0, int y = 0, int w = 0, int h = 0, GuiElementCallback_t input = defaultInputCallback, GuiElementCallback_t draw = defaultDrawCallback) 44 | { 45 | this->rect.x = x; 46 | this->rect.y = y; 47 | this->rect.w = w; 48 | this->rect.h = h; 49 | this->text.push_back(text); 50 | this->input = input; 51 | this->draw = draw; 52 | this->toggled = false; 53 | this->x = this->y = 0; 54 | this->locked = false; 55 | this->data = 0; 56 | } 57 | 58 | GuiElement_t(const char ** text, int x = 0, int y = 0, int w = 0, int h = 0, GuiElementCallback_t input = defaultInputCallback, GuiElementCallback_t draw = defaultDrawCallback) 59 | { 60 | this->rect.x = x; 61 | this->rect.y = y; 62 | this->rect.w = w; 63 | this->rect.h = h; 64 | for( int i = 0; text[i]; i++ ) 65 | this->text.push_back(text[i]); 66 | this->input = input; 67 | this->draw = draw; 68 | this->toggled = false; 69 | this->x = this->y = 0; 70 | this->locked = false; 71 | this->data = 0; 72 | } 73 | 74 | static void defaultInputCallback(GuiElement_t * elem, bool pressed, int x, int y); 75 | static void defaultDrawCallback(GuiElement_t * elem, bool pressed, int x, int y); 76 | static bool toggleElement(GuiElement_t * elem, bool pressed); 77 | }; 78 | 79 | extern std::vector settingsGui; 80 | extern bool guiWaitTouchRelease; 81 | 82 | float getMouseSpeed(); 83 | 84 | void createGuiMain(); 85 | void processGui(); 86 | void mainLoop(bool noHid = false); 87 | 88 | void createDialog(); 89 | bool getDialogResult(int * result); 90 | void addDialogText(const char *text); 91 | void clearDialogText(); 92 | void addDialogUrlButton(const char *url); 93 | void addDialogYesNoButtons(); 94 | 95 | void settingsShowGui(); 96 | void settingsCloseGui(); 97 | bool settingsGuiShown(); 98 | 99 | void settingsProcessKeyInput(SDLKey key, unsigned int unicode, int pressed); 100 | void settingsDefineKeycode(SDLKey key, unsigned int unicode); 101 | void settingsInitGui(); 102 | 103 | extern SDL_sem *screenRedrawSemaphore; 104 | 105 | #endif 106 | -------------------------------------------------------------------------------- /remote-client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/remote-client/icon.png -------------------------------------------------------------------------------- /remote-client/input.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Sergii Pylypenko 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _XSDL_INPUT_H_ 18 | #define _XSDL_INPUT_H_ 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | enum KeyCode 25 | { 26 | MAX_MODIFIERS = 8, 27 | KEY_LCTRL = 224, // scancode inside scancodes.c 28 | KEY_LSHIFT = 225, 29 | KEY_LALT = 226, 30 | KEY_LSUPER = 227, 31 | KEY_RCTRL = 228, 32 | KEY_RSHIFT = 229, 33 | KEY_RALT = 230, 34 | KEY_RSUPER = 231, 35 | MAX_KEYCODES = KEY_RSUPER + 1, 36 | }; 37 | 38 | extern bool keys[MAX_KEYCODES]; 39 | extern float mouseCoords[2]; 40 | extern bool mouseButtons[SDL_BUTTON_X2+1]; 41 | extern std::map keyMappings; 42 | extern std::set keyMappingsShift, keyMappingsCtrl, keyMappingsAlt; 43 | 44 | void openInput(); 45 | bool processKeyInput(SDLKey key, unsigned int unicode, bool pressed); 46 | bool processKeyInput(SDLKey key, unsigned int unicode, bool pressed); 47 | void processMouseInput(); 48 | void queueKeyTextString(const char *s); 49 | int processQueuedKeyTextString(); 50 | 51 | void saveKeyMappings(); 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /remote-client/keysyms_convert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | OUT=vnc_keysyms_unicode.h 4 | 5 | rm -f $OUT 6 | 7 | echo "static struct { uint32_t X; uint32_t unicode; } XKeysymToUnicode[] = {" >> $OUT 8 | 9 | cat keysyms.txt | grep '^0x' | while read KEYSYM UNICODE TYPE COMMENT; do 10 | [ "$TYPE" = "o" ] && continue 11 | [ "$TYPE" = "f" ] && continue 12 | [ "$TYPE" = "r" ] && continue 13 | [ "$TYPE" = "" ] && continue 14 | UNICODE="`echo $UNICODE | sed 's/^U//'`" 15 | echo " { $KEYSYM, 0x$UNICODE }," >> $OUT 16 | done 17 | 18 | echo " { 0, 0 } };" >> $OUT 19 | -------------------------------------------------------------------------------- /remote-client/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Sergii Pylypenko 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | #include 19 | #include 20 | #include "gfx.h" 21 | #include "gui.h" 22 | #include "input.h" 23 | 24 | int main(int argc, char* argv[]) 25 | { 26 | initSDL(); 27 | SDL_EnableUNICODE(1); 28 | SDL_WM_SetCaption("Remote PC Keyboard", "Remote PC Keyboard"); 29 | 30 | openInput(); 31 | 32 | createGuiMain(); 33 | 34 | while( true ) 35 | { 36 | mainLoop(); 37 | } 38 | 39 | deinitSDL(); 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /remote-client/scancodes.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Sergii Pylypenko 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _XSDL_SCANCODES_H_ 18 | #define _XSDL_SCANCODES_H_ 19 | 20 | #include 21 | 22 | enum { SDL_NUM_SCANCODES = 512 }; 23 | 24 | extern const int scancodes_table[SDL_NUM_SCANCODES]; 25 | extern const int keycodes_shift_table[][2]; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /remote-client/tools.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Sergii Pylypenko 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _XSDL_TOOLS_H_ 18 | #define _XSDL_TOOLS_H_ 19 | 20 | // Convert 21 | static inline int UnicodeToUtf8(unsigned int src, char * dest) 22 | { 23 | int len = 0; 24 | if ( src <= 0x007f) { 25 | *dest++ = (char)src; 26 | len = 1; 27 | } else if (src <= 0x07ff) { 28 | *dest++ = (char)0xc0 | (src >> 6); 29 | *dest++ = (char)0x80 | (src & 0x003f); 30 | len = 2; 31 | } else if (src == 0xFEFF) { 32 | // nop -- zap the BOM 33 | } else if (src >= 0xD800 && src <= 0xDFFF) { 34 | // surrogates not supported 35 | } else if (src <= 0xffff) { 36 | *dest++ = (char)0xe0 | (src >> 12); 37 | *dest++ = (char)0x80 | ((src >> 6) & 0x003f); 38 | *dest++ = (char)0x80 | (src & 0x003f); 39 | len = 3; 40 | } else if (src <= 0xffff) { 41 | *dest++ = (char)0xf0 | (src >> 18); 42 | *dest++ = (char)0x80 | ((src >> 12) & 0x3f); 43 | *dest++ = (char)0x80 | ((src >> 6) & 0x3f); 44 | *dest++ = (char)0x80 | (src & 0x3f); 45 | len = 4; 46 | } else { 47 | // out of Unicode range 48 | } 49 | *dest = 0; 50 | return len; 51 | } 52 | 53 | /** 54 | * Reads the next UTF-8-encoded character from the byte array ranging 55 | * from {@code *pstart} up to, but not including, {@code end}. If the 56 | * conversion succeeds, the {@code *pstart} iterator is advanced, 57 | * the codepoint is stored into {@code *pcp}, and the function returns 58 | * 0. Otherwise the conversion fails, {@code errno} is set to 59 | * {@code EILSEQ} and the function returns -1. 60 | */ 61 | static inline int unicode_from_utf8(char **pstart, const char *end, unsigned int *pcp) { 62 | size_t len, i; 63 | unsigned int cp, min; 64 | const char *buf; 65 | 66 | buf = *pstart; 67 | if (buf == end) 68 | goto error; 69 | 70 | if (buf[0] < 0x80) { 71 | len = 1; 72 | min = 0; 73 | cp = buf[0]; 74 | } else if (buf[0] < 0xC0) { 75 | goto error; 76 | } else if (buf[0] < 0xE0) { 77 | len = 2; 78 | min = 1 << 7; 79 | cp = buf[0] & 0x1F; 80 | } else if (buf[0] < 0xF0) { 81 | len = 3; 82 | min = 1 << (5 + 6); 83 | cp = buf[0] & 0x0F; 84 | } else if (buf[0] < 0xF8) { 85 | len = 4; 86 | min = 1 << (4 + 6 + 6); 87 | cp = buf[0] & 0x07; 88 | } else { 89 | goto error; 90 | } 91 | 92 | if (buf + len > end) 93 | goto error; 94 | 95 | for (i = 1; i < len; i++) { 96 | if ((buf[i] & 0xC0) != 0x80) 97 | goto error; 98 | cp = (cp << 6) | (buf[i] & 0x3F); 99 | } 100 | 101 | if (cp < min) 102 | goto error; 103 | 104 | if (0xD800 <= cp && cp <= 0xDFFF) 105 | goto error; 106 | 107 | if (0x110000 <= cp) 108 | goto error; 109 | 110 | *pstart += len; 111 | *pcp = cp; 112 | return 0; 113 | 114 | error: 115 | return -1; 116 | } 117 | 118 | static inline unsigned int UnicodeFromUtf8(char **src) 119 | { 120 | unsigned int ret = 0; 121 | const char *end = *src + strlen(*src); 122 | if( end == *src ) 123 | return 0; 124 | if( unicode_from_utf8(src, end, &ret) == 0 ) 125 | return ret; 126 | return 0; 127 | } 128 | 129 | #endif 130 | -------------------------------------------------------------------------------- /remote-client/touchpad.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Sergii Pylypenko 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _XSDL_TOUCHPAD_H_ 18 | #define _XSDL_TOUCHPAD_H_ 19 | 20 | #include 21 | 22 | void processTouchpad(int bounds_x0, int bounds_y0, int bounds_x1, int bounds_y1); 23 | 24 | #endif 25 | 26 | -------------------------------------------------------------------------------- /remote-client/vnc_keysyms.h: -------------------------------------------------------------------------------- 1 | #ifndef __VNC_KEYSYMS_H__ 2 | #define __VNC_KEYSYMS_H__ 3 | 4 | #include 5 | #include 6 | 7 | #include 8 | #include 9 | 10 | extern std::map vncKeysymToSDLKey; 11 | extern std::map vncKeysymToUnicode; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /remote-client/vnc_server.h: -------------------------------------------------------------------------------- 1 | #ifndef __VNC_SERVER_H__ 2 | #define __VNC_SERVER_H__ 3 | 4 | #include 5 | 6 | void vncServerStart(); 7 | void vncServerStop(); 8 | bool vncServerRunning(); 9 | std::string vncServerGetIpAddress(); 10 | void vncServerDrawVideoBuffer(int x, int y, int w, int h); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /send-pin-with-camera/.gitignore: -------------------------------------------------------------------------------- 1 | # built application files 2 | bin_ant/*.apk 3 | *.ap_ 4 | 5 | # files for the dex VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # generated files 12 | bin/ 13 | gen/ 14 | bin_ant/ 15 | gen_ant/ 16 | # Local configuration file (sdk path, etc) 17 | local.properties 18 | proguard-project.txt 19 | project.properties 20 | 21 | obj/ 22 | 23 | .project 24 | .classpath 25 | .settings 26 | -------------------------------------------------------------------------------- /send-pin-with-camera/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /send-pin-with-camera/README.md: -------------------------------------------------------------------------------- 1 | android-eye 2 | =========== 3 | 4 | Change your android phone to a surveillance security camera. 5 | 6 | ## Download ## 7 | You can download binrary from Google Play: 8 | https://play.google.com/store/apps/details?id=teaonly.droideye 9 | 10 | ## Specifications ## 11 | * Streaming 12 | * Support Mjpeg streaming and audio (viideo is OK, audio is also OK) 13 | * Build-in web service, you can see the video via browser in pc and another phone (PC is ok, phone is not ready) 14 | * Security 15 | * Support user/password setup (Doing) 16 | * Support motion detecting (not ready) 17 | * Publishing alarm messages to SNS (not ready) 18 | * Portable 19 | * Setup ADSL router by uPnP (Done, need more testing) 20 | 21 | ## Update ## 22 | * 2012-07-26 creating project. 23 | * 2012-08-04 Multiple jpeg streaming is OK, basic framework is OK. 24 | * 2012-10-18 Bugs fixed, supported IE, Firefox and Chrome. 25 | * 2012-10-28 Fixed small bugs, added audio flash player in Web page. 26 | * 2012-10-30 Finished audio support. 27 | * 2012-11-02 Added uPnp port mapping support, but need more testing. 28 | -------------------------------------------------------------------------------- /send-pin-with-camera/ant.properties: -------------------------------------------------------------------------------- 1 | # This file is used to override default values used by the Ant build system. 2 | # 3 | # This file must be checked into Version Control Systems, as it is 4 | # integral to the build system of your project. 5 | 6 | # This file is only used by the Ant script. 7 | 8 | # You can use this to override default values such as 9 | # 'source.dir' for the location of your java source folder and 10 | # 'out.dir' for the location of your output folder. 11 | 12 | # You can also use it define how the release builds are signed by declaring 13 | # the following properties: 14 | # 'key.store' for the location of your keystore and 15 | # 'key.alias' for the name of the key to use. 16 | # The password will be asked during the build when you use the 'release' target. 17 | #key.store=/Users/teaonly/opt/mykey/androidrelease.keystore 18 | #key.alias=teaonly 19 | 20 | out.dir=bin_ant 21 | gen.absolute.dir=gen_ant 22 | -------------------------------------------------------------------------------- /send-pin-with-camera/assets/extern.css: -------------------------------------------------------------------------------- 1 | div.live_image_box { 2 | display: block; 3 | background-color: black; 4 | text-align:center; 5 | margin-left: auto; 6 | margin-right: auto; 7 | } 8 | 9 | div.center { 10 | text-align:center; 11 | margin-left: auto; 12 | margin-right: auto; 13 | } 14 | 15 | #bottom_div { 16 | position: absolute; 17 | bottom:0; 18 | right:0; 19 | margin:auto 0; 20 | } 21 | 22 | .ui-field-contain .ui-controlgroup-controls { 23 | width:100%; 24 | } 25 | -------------------------------------------------------------------------------- /send-pin-with-camera/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/favicon.ico -------------------------------------------------------------------------------- /send-pin-with-camera/assets/flowplayer-3.2.15.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/flowplayer-3.2.15.swf -------------------------------------------------------------------------------- /send-pin-with-camera/assets/flowplayer.audio-3.2.10.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/flowplayer.audio-3.2.10.swf -------------------------------------------------------------------------------- /send-pin-with-camera/assets/flowplayer.controls-3.2.14.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/flowplayer.controls-3.2.14.swf -------------------------------------------------------------------------------- /send-pin-with-camera/assets/hid-gadget-test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/hid-gadget-test -------------------------------------------------------------------------------- /send-pin-with-camera/assets/hid-gadget-test-mips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/hid-gadget-test-mips -------------------------------------------------------------------------------- /send-pin-with-camera/assets/hid-gadget-test-x86: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/hid-gadget-test-x86 -------------------------------------------------------------------------------- /send-pin-with-camera/assets/images/black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/images/black.png -------------------------------------------------------------------------------- /send-pin-with-camera/assets/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Remote Video 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | Video size: 42 | 43 | 44 | 45 | Enable Audio 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | Connecting... 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /send-pin-with-camera/assets/res/images/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/res/images/ajax-loader.gif -------------------------------------------------------------------------------- /send-pin-with-camera/assets/res/images/ajax-loader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/res/images/ajax-loader.png -------------------------------------------------------------------------------- /send-pin-with-camera/assets/res/images/icons-18-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/res/images/icons-18-black.png -------------------------------------------------------------------------------- /send-pin-with-camera/assets/res/images/icons-18-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/res/images/icons-18-white.png -------------------------------------------------------------------------------- /send-pin-with-camera/assets/res/images/icons-36-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/res/images/icons-36-black.png -------------------------------------------------------------------------------- /send-pin-with-camera/assets/res/images/icons-36-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/assets/res/images/icons-36-white.png -------------------------------------------------------------------------------- /send-pin-with-camera/assets/res/jquery.json-2.3.min.js: -------------------------------------------------------------------------------- 1 | 2 | (function($){var escapeable=/["\\\x00-\x1f\x7f-\x9f]/g,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};$.toJSON=typeof JSON==='object'&&JSON.stringify?JSON.stringify:function(o){if(o===null){return'null';} 3 | var type=typeof o;if(type==='undefined'){return undefined;} 4 | if(type==='number'||type==='boolean'){return''+o;} 5 | if(type==='string'){return $.quoteString(o);} 6 | if(type==='object'){if(typeof o.toJSON==='function'){return $.toJSON(o.toJSON());} 7 | if(o.constructor===Date){var month=o.getUTCMonth()+1,day=o.getUTCDate(),year=o.getUTCFullYear(),hours=o.getUTCHours(),minutes=o.getUTCMinutes(),seconds=o.getUTCSeconds(),milli=o.getUTCMilliseconds();if(month<10){month='0'+month;} 8 | if(day<10){day='0'+day;} 9 | if(hours<10){hours='0'+hours;} 10 | if(minutes<10){minutes='0'+minutes;} 11 | if(seconds<10){seconds='0'+seconds;} 12 | if(milli<100){milli='0'+milli;} 13 | if(milli<10){milli='0'+milli;} 14 | return'"'+year+'-'+month+'-'+day+'T'+ 15 | hours+':'+minutes+':'+seconds+'.'+milli+'Z"';} 16 | if(o.constructor===Array){var ret=[];for(var i=0;i 2 | 3 | 4 | 7 | 8 | 9 | 29 | 30 | 31 | 35 | 36 | 37 | 38 | 39 | 40 | 49 | 50 | 51 | 52 | 56 | 57 | 69 | 70 | 71 | 89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/Android.mk: -------------------------------------------------------------------------------- 1 | ##################################################################### 2 | # the build script for NDK for droidipcam project 3 | # 4 | 5 | LOCAL_PATH:= $(call my-dir) 6 | 7 | ########################################################### 8 | # mp3 encoder 9 | # 10 | include $(CLEAR_VARS) 11 | LOCAL_MODULE := libmp3encoder 12 | LOCAL_CFLAGS := -O2 -Wall -DANDROID -DSTDC_HEADERS -I./libmp3lame/ 13 | 14 | #including source files 15 | include $(LOCAL_PATH)/libmp3lame_build.mk 16 | 17 | LOCAL_LDLIBS := -llog 18 | 19 | include $(BUILD_SHARED_LIBRARY) 20 | 21 | ########################################################### 22 | # uPnP port mapping 23 | # 24 | include $(CLEAR_VARS) 25 | LOCAL_MODULE := libnatpmp 26 | LOCAL_CFLAGS := -O2 -Wall -DANDROID -DLINUX -I./libnatpmp/ 27 | 28 | #including source files 29 | include $(LOCAL_PATH)/libnatpmp_build.mk 30 | 31 | LOCAL_LDLIBS := -llog 32 | 33 | include $(BUILD_SHARED_LIBRARY) 34 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-8 2 | APP_STL := stlport_static 3 | APP_ABI := armeabi x86 4 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/beginvision.h: -------------------------------------------------------------------------------- 1 | #ifndef _AUDIOENCODER_H_ 2 | #define _AUDIOENCODER_H_ 3 | 4 | #include 5 | #include 6 | 7 | #define LOG_TAG "TEAONLY" 8 | #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__) 9 | 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/VbrTag.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Xing VBR tagging for LAME. 3 | * 4 | * Copyright (c) 1999 A.L. Faber 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_VRBTAG_H 23 | #define LAME_VRBTAG_H 24 | 25 | 26 | /* ----------------------------------------------------------- 27 | * A Vbr header may be present in the ancillary 28 | * data field of the first frame of an mp3 bitstream 29 | * The Vbr header (optionally) contains 30 | * frames total number of audio frames in the bitstream 31 | * bytes total number of bytes in the bitstream 32 | * toc table of contents 33 | 34 | * toc (table of contents) gives seek points 35 | * for random access 36 | * the ith entry determines the seek point for 37 | * i-percent duration 38 | * seek point in bytes = (toc[i]/256.0) * total_bitstream_bytes 39 | * e.g. half duration seek point = (toc[50]/256.0) * total_bitstream_bytes 40 | */ 41 | 42 | 43 | #define FRAMES_FLAG 0x0001 44 | #define BYTES_FLAG 0x0002 45 | #define TOC_FLAG 0x0004 46 | #define VBR_SCALE_FLAG 0x0008 47 | 48 | #define NUMTOCENTRIES 100 49 | 50 | #ifndef lame_internal_flags_defined 51 | #define lame_internal_flags_defined 52 | struct lame_internal_flags; 53 | typedef struct lame_internal_flags lame_internal_flags; 54 | #endif 55 | 56 | 57 | /*structure to receive extracted header */ 58 | /* toc may be NULL*/ 59 | typedef struct { 60 | int h_id; /* from MPEG header, 0=MPEG2, 1=MPEG1 */ 61 | int samprate; /* determined from MPEG header */ 62 | int flags; /* from Vbr header data */ 63 | int frames; /* total bit stream frames from Vbr header data */ 64 | int bytes; /* total bit stream bytes from Vbr header data */ 65 | int vbr_scale; /* encoded vbr scale from Vbr header data */ 66 | unsigned char toc[NUMTOCENTRIES]; /* may be NULL if toc not desired */ 67 | int headersize; /* size of VBR header, in bytes */ 68 | int enc_delay; /* encoder delay */ 69 | int enc_padding; /* encoder paddign added at end of stream */ 70 | } VBRTAGDATA; 71 | 72 | int GetVbrTag(VBRTAGDATA * pTagData, const unsigned char *buf); 73 | 74 | int InitVbrTag(lame_global_flags * gfp); 75 | int PutVbrTag(lame_global_flags const *gfp, FILE * fid); 76 | void AddVbrFrame(lame_internal_flags * gfc); 77 | void UpdateMusicCRC(uint16_t * crc, const unsigned char *buffer, int size); 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/bitstream.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MP3 bitstream Output interface for LAME 3 | * 4 | * Copyright (c) 1999 Takehiro TOMINAGA 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_BITSTREAM_H 23 | #define LAME_BITSTREAM_H 24 | 25 | int getframebits(const lame_internal_flags * gfc); 26 | 27 | int format_bitstream(lame_internal_flags * gfc); 28 | 29 | void flush_bitstream(lame_internal_flags * gfc); 30 | void add_dummy_byte(lame_internal_flags * gfc, unsigned char val, unsigned int n); 31 | 32 | int copy_buffer(lame_internal_flags * gfc, unsigned char *buffer, int buffer_size, 33 | int update_crc); 34 | void init_bit_stream_w(lame_internal_flags * gfc); 35 | void CRC_writeheader(lame_internal_flags const *gfc, char *buffer); 36 | int compute_flushbits(const lame_internal_flags * gfp, int *nbytes); 37 | 38 | int get_max_frame_buffer_size_by_constraint(SessionConfig_t const * cfg, int constraint); 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/fft.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Fast Fourier Transform include file 3 | * 4 | * Copyright (c) 2000 Mark Taylor 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_FFT_H 23 | #define LAME_FFT_H 24 | 25 | void fft_long(lame_internal_flags const *const gfc, FLOAT x_real[BLKSIZE], 26 | int chn, const sample_t *const data[2]); 27 | 28 | void fft_short(lame_internal_flags const *const gfc, FLOAT x_real[3][BLKSIZE_s], 29 | int chn, const sample_t *const data[2]); 30 | 31 | void init_fft(lame_internal_flags * const gfc); 32 | 33 | #endif 34 | 35 | /* End of fft.h */ 36 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/id3tag.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef LAME_ID3_H 3 | #define LAME_ID3_H 4 | 5 | 6 | #define CHANGED_FLAG (1U << 0) 7 | #define ADD_V2_FLAG (1U << 1) 8 | #define V1_ONLY_FLAG (1U << 2) 9 | #define V2_ONLY_FLAG (1U << 3) 10 | #define SPACE_V1_FLAG (1U << 4) 11 | #define PAD_V2_FLAG (1U << 5) 12 | 13 | enum { 14 | MIMETYPE_NONE = 0, 15 | MIMETYPE_JPEG, 16 | MIMETYPE_PNG, 17 | MIMETYPE_GIF, 18 | }; 19 | 20 | typedef struct FrameDataNode { 21 | struct FrameDataNode *nxt; 22 | uint32_t fid; /* Frame Identifier */ 23 | char lng[4]; /* 3-character language descriptor */ 24 | struct { 25 | union { 26 | char *l; /* ptr to Latin-1 chars */ 27 | unsigned short *u; /* ptr to UCS-2 text */ 28 | unsigned char *b; /* ptr to raw bytes */ 29 | } ptr; 30 | size_t dim; 31 | int enc; /* 0:Latin-1, 1:UCS-2, 2:RAW */ 32 | } dsc , txt; 33 | } FrameDataNode; 34 | 35 | 36 | typedef struct id3tag_spec { 37 | /* private data members */ 38 | unsigned int flags; 39 | int year; 40 | char *title; 41 | char *artist; 42 | char *album; 43 | char *comment; 44 | int track_id3v1; 45 | int genre_id3v1; 46 | unsigned char *albumart; 47 | unsigned int albumart_size; 48 | unsigned int padding_size; 49 | int albumart_mimetype; 50 | FrameDataNode *v2_head, *v2_tail; 51 | } id3tag_spec; 52 | 53 | 54 | /* write tag into stream at current position */ 55 | extern int id3tag_write_v2(lame_global_flags * gfp); 56 | extern int id3tag_write_v1(lame_global_flags * gfp); 57 | /* 58 | * NOTE: A version 2 tag will NOT be added unless one of the text fields won't 59 | * fit in a version 1 tag (e.g. the title string is longer than 30 characters), 60 | * or the "id3tag_add_v2" or "id3tag_v2_only" functions are used. 61 | */ 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/l3side.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Layer 3 side include file 3 | * 4 | * Copyright (c) 1999 Mark Taylor 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_L3SIDE_H 23 | #define LAME_L3SIDE_H 24 | 25 | /* max scalefactor band, max(SBMAX_l, SBMAX_s*3, (SBMAX_s-3)*3+8) */ 26 | #define SFBMAX (SBMAX_s*3) 27 | 28 | /* Layer III side information. */ 29 | typedef struct { 30 | int l[1 + SBMAX_l]; 31 | int s[1 + SBMAX_s]; 32 | int psfb21[1 + PSFB21]; 33 | int psfb12[1 + PSFB12]; 34 | } scalefac_struct; 35 | 36 | 37 | typedef struct { 38 | FLOAT l[SBMAX_l]; 39 | FLOAT s[SBMAX_s][3]; 40 | } III_psy_xmin; 41 | 42 | typedef struct { 43 | III_psy_xmin thm; 44 | III_psy_xmin en; 45 | } III_psy_ratio; 46 | 47 | typedef struct { 48 | FLOAT xr[576]; 49 | int l3_enc[576]; 50 | int scalefac[SFBMAX]; 51 | FLOAT xrpow_max; 52 | 53 | int part2_3_length; 54 | int big_values; 55 | int count1; 56 | int global_gain; 57 | int scalefac_compress; 58 | int block_type; 59 | int mixed_block_flag; 60 | int table_select[3]; 61 | int subblock_gain[3 + 1]; 62 | int region0_count; 63 | int region1_count; 64 | int preflag; 65 | int scalefac_scale; 66 | int count1table_select; 67 | 68 | int part2_length; 69 | int sfb_lmax; 70 | int sfb_smin; 71 | int psy_lmax; 72 | int sfbmax; 73 | int psymax; 74 | int sfbdivide; 75 | int width[SFBMAX]; 76 | int window[SFBMAX]; 77 | int count1bits; 78 | /* added for LSF */ 79 | const int *sfb_partition_table; 80 | int slen[4]; 81 | 82 | int max_nonzero_coeff; 83 | char energy_above_cutoff[SFBMAX]; 84 | } gr_info; 85 | 86 | typedef struct { 87 | gr_info tt[2][2]; 88 | int main_data_begin; 89 | int private_bits; 90 | int resvDrain_pre; 91 | int resvDrain_post; 92 | int scfsi[2][4]; 93 | } III_side_info_t; 94 | 95 | #endif 96 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/lame-analysis.h: -------------------------------------------------------------------------------- 1 | /* 2 | * GTK plotting routines source file 3 | * 4 | * Copyright (c) 1999 Mark Taylor 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_GTKANAL_H 23 | #define LAME_GTKANAL_H 24 | 25 | 26 | #define READ_AHEAD 40 /* number of frames to read ahead */ 27 | #define MAXMPGLAG READ_AHEAD /* if the mpg123 lag becomes bigger than this 28 | we have to stop */ 29 | #define NUMBACK 6 /* number of frames we can back up */ 30 | #define NUMPINFO (NUMBACK+READ_AHEAD+1) 31 | 32 | 33 | 34 | struct plotting_data { 35 | int frameNum; /* current frame number */ 36 | int frameNum123; 37 | int num_samples; /* number of pcm samples read for this frame */ 38 | double frametime; /* starting time of frame, in seconds */ 39 | double pcmdata[2][1600]; 40 | double pcmdata2[2][1152 + 1152 - DECDELAY]; 41 | double xr[2][2][576]; 42 | double mpg123xr[2][2][576]; 43 | double ms_ratio[2]; 44 | double ms_ener_ratio[2]; 45 | 46 | /* L,R, M and S values */ 47 | double energy_save[4][BLKSIZE]; /* psymodel is one ahead */ 48 | double energy[2][4][BLKSIZE]; 49 | double pe[2][4]; 50 | double thr[2][4][SBMAX_l]; 51 | double en[2][4][SBMAX_l]; 52 | double thr_s[2][4][3 * SBMAX_s]; 53 | double en_s[2][4][3 * SBMAX_s]; 54 | double ers_save[4]; /* psymodel is one ahead */ 55 | double ers[2][4]; 56 | 57 | double sfb[2][2][SBMAX_l]; 58 | double sfb_s[2][2][3 * SBMAX_s]; 59 | double LAMEsfb[2][2][SBMAX_l]; 60 | double LAMEsfb_s[2][2][3 * SBMAX_s]; 61 | 62 | int LAMEqss[2][2]; 63 | int qss[2][2]; 64 | int big_values[2][2]; 65 | int sub_gain[2][2][3]; 66 | 67 | double xfsf[2][2][SBMAX_l]; 68 | double xfsf_s[2][2][3 * SBMAX_s]; 69 | 70 | int over[2][2]; 71 | double tot_noise[2][2]; 72 | double max_noise[2][2]; 73 | double over_noise[2][2]; 74 | int over_SSD[2][2]; 75 | int blocktype[2][2]; 76 | int scalefac_scale[2][2]; 77 | int preflag[2][2]; 78 | int mpg123blocktype[2][2]; 79 | int mixed[2][2]; 80 | int mainbits[2][2]; 81 | int sfbits[2][2]; 82 | int LAMEmainbits[2][2]; 83 | int LAMEsfbits[2][2]; 84 | int framesize, stereo, js, ms_stereo, i_stereo, emph, bitrate, sampfreq, maindata; 85 | int crc, padding; 86 | int scfsi[2], mean_bits, resvsize; 87 | int totbits; 88 | }; 89 | #ifndef plotting_data_defined 90 | #define plotting_data_defined 91 | typedef struct plotting_data plotting_data; 92 | #endif 93 | #if 0 94 | extern plotting_data *pinfo; 95 | #endif 96 | #endif 97 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/lameerror.h: -------------------------------------------------------------------------------- 1 | /* 2 | * A collection of LAME Error Codes 3 | * 4 | * Please use the constants defined here instead of some arbitrary 5 | * values. Currently the values starting at -10 to avoid intersection 6 | * with the -1, -2, -3 and -4 used in the current code. 7 | * 8 | * May be this should be a part of the include/lame.h. 9 | */ 10 | 11 | typedef enum { 12 | LAME_OKAY = 0, 13 | LAME_NOERROR = 0, 14 | LAME_GENERICERROR = -1, 15 | LAME_NOMEM = -10, 16 | LAME_BADBITRATE = -11, 17 | LAME_BADSAMPFREQ = -12, 18 | LAME_INTERNALERROR = -13, 19 | 20 | FRONTEND_READERROR = -80, 21 | FRONTEND_WRITEERROR = -81, 22 | FRONTEND_FILETOOLARGE = -82, 23 | 24 | } lame_errorcodes_t; 25 | 26 | /* end of lameerror.h */ 27 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/newmdct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * New Modified DCT include file 3 | * 4 | * Copyright (c) 1999 Takehiro TOMINAGA 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_NEWMDCT_H 23 | #define LAME_NEWMDCT_H 24 | 25 | void mdct_sub48(lame_internal_flags * gfc, const sample_t * w0, const sample_t * w1); 26 | 27 | #endif /* LAME_NEWMDCT_H */ 28 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/psymodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * psymodel.h 3 | * 4 | * Copyright (c) 1999 Mark Taylor 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_PSYMODEL_H 23 | #define LAME_PSYMODEL_H 24 | 25 | 26 | int L3psycho_anal_ns(lame_internal_flags * gfc, 27 | const sample_t *const buffer[2], int gr, 28 | III_psy_ratio ratio[2][2], 29 | III_psy_ratio MS_ratio[2][2], 30 | FLOAT pe[2], FLOAT pe_MS[2], FLOAT ener[2], int blocktype_d[2]); 31 | 32 | int L3psycho_anal_vbr(lame_internal_flags * gfc, 33 | const sample_t *const buffer[2], int gr, 34 | III_psy_ratio ratio[2][2], 35 | III_psy_ratio MS_ratio[2][2], 36 | FLOAT pe[2], FLOAT pe_MS[2], FLOAT ener[2], int blocktype_d[2]); 37 | 38 | 39 | int psymodel_init(lame_global_flags const* gfp); 40 | 41 | 42 | #define rpelev 2 43 | #define rpelev2 16 44 | #define rpelev_s 2 45 | #define rpelev2_s 16 46 | 47 | /* size of each partition band, in barks: */ 48 | #define DELBARK .34 49 | 50 | 51 | /* tuned for output level (sensitive to energy scale) */ 52 | #define VO_SCALE (1./( 14752*14752 )/(BLKSIZE/2)) 53 | 54 | #define temporalmask_sustain_sec 0.01 55 | 56 | #define NS_PREECHO_ATT0 0.8 57 | #define NS_PREECHO_ATT1 0.6 58 | #define NS_PREECHO_ATT2 0.3 59 | 60 | #define NS_MSFIX 3.5 61 | #define NSATTACKTHRE 4.4 62 | #define NSATTACKTHRE_S 25 63 | 64 | #endif /* LAME_PSYMODEL_H */ 65 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/quantize.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MP3 quantization 3 | * 4 | * Copyright (c) 1999 Mark Taylor 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_QUANTIZE_H 23 | #define LAME_QUANTIZE_H 24 | 25 | void CBR_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2], 26 | const FLOAT ms_ratio[2], const III_psy_ratio ratio[2][2]); 27 | 28 | void VBR_old_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2], 29 | const FLOAT ms_ratio[2], const III_psy_ratio ratio[2][2]); 30 | 31 | void VBR_new_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2], 32 | const FLOAT ms_ratio[2], const III_psy_ratio ratio[2][2]); 33 | 34 | void ABR_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2], 35 | const FLOAT ms_ratio[2], const III_psy_ratio ratio[2][2]); 36 | 37 | 38 | #endif /* LAME_QUANTIZE_H */ 39 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/reservoir.h: -------------------------------------------------------------------------------- 1 | /* 2 | * bit reservoir include file 3 | * 4 | * Copyright (c) 1999 Mark Taylor 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_RESERVOIR_H 23 | #define LAME_RESERVOIR_H 24 | 25 | int ResvFrameBegin(lame_internal_flags * gfc, int *mean_bits); 26 | void ResvMaxBits(lame_internal_flags * gfc, int mean_bits, int *targ_bits, int *max_bits, 27 | int cbr); 28 | void ResvAdjust(lame_internal_flags * gfc, gr_info const *gi); 29 | void ResvFrameEnd(lame_internal_flags * gfc, int mean_bits); 30 | 31 | #endif /* LAME_RESERVOIR_H */ 32 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/set_get.h: -------------------------------------------------------------------------------- 1 | /* 2 | * set_get.h -- Internal set/get definitions 3 | * 4 | * Copyright (C) 2003 Gabriel Bouvigne / Lame project 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. 19 | */ 20 | 21 | #ifndef __SET_GET_H__ 22 | #define __SET_GET_H__ 23 | 24 | #include 25 | 26 | #if defined(__cplusplus) 27 | extern "C" { 28 | #endif 29 | 30 | /* select psychoacoustic model */ 31 | 32 | /* manage short blocks */ 33 | int CDECL lame_set_short_threshold(lame_global_flags *, float, float); 34 | int CDECL lame_set_short_threshold_lrm(lame_global_flags *, float); 35 | float CDECL lame_get_short_threshold_lrm(const lame_global_flags *); 36 | int CDECL lame_set_short_threshold_s(lame_global_flags *, float); 37 | float CDECL lame_get_short_threshold_s(const lame_global_flags *); 38 | 39 | 40 | int CDECL lame_set_maskingadjust(lame_global_flags *, float); 41 | float CDECL lame_get_maskingadjust(const lame_global_flags *); 42 | 43 | int CDECL lame_set_maskingadjust_short(lame_global_flags *, float); 44 | float CDECL lame_get_maskingadjust_short(const lame_global_flags *); 45 | 46 | /* select ATH formula 4 shape */ 47 | int CDECL lame_set_ATHcurve(lame_global_flags *, float); 48 | float CDECL lame_get_ATHcurve(const lame_global_flags *); 49 | 50 | int CDECL lame_set_preset_notune(lame_global_flags *, int); 51 | 52 | /* substep shaping method */ 53 | int CDECL lame_set_substep(lame_global_flags *, int); 54 | int CDECL lame_get_substep(const lame_global_flags *); 55 | 56 | /* scalefactors scale */ 57 | int CDECL lame_set_sfscale(lame_global_flags *, int); 58 | int CDECL lame_get_sfscale(const lame_global_flags *); 59 | 60 | /* subblock gain */ 61 | int CDECL lame_set_subblock_gain(lame_global_flags *, int); 62 | int CDECL lame_get_subblock_gain(const lame_global_flags *); 63 | 64 | 65 | 66 | /*presets*/ 67 | int apply_preset(lame_global_flags *, int preset, int enforce); 68 | 69 | void CDECL lame_set_tune(lame_t, float); /* FOR INTERNAL USE ONLY */ 70 | void CDECL lame_set_msfix(lame_t gfp, double msfix); 71 | 72 | 73 | #if defined(__cplusplus) 74 | } 75 | #endif 76 | #endif 77 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/tables.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MPEG layer 3 tables include file 3 | * 4 | * Copyright (c) 1999 Albert L Faber 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_TABLES_H 23 | #define LAME_TABLES_H 24 | 25 | #if 0 26 | typedef struct { 27 | unsigned char no; 28 | unsigned char width; 29 | unsigned char minval_2; 30 | float quiet_thr; 31 | float norm; 32 | float bark; 33 | } type1_t; 34 | 35 | typedef struct { 36 | unsigned char no; 37 | unsigned char width; 38 | float quiet_thr; 39 | float norm; 40 | float SNR; 41 | float bark; 42 | } type2_t; 43 | 44 | typedef struct { 45 | unsigned int no:5; 46 | unsigned int cbw:3; 47 | unsigned int bu:6; 48 | unsigned int bo:6; 49 | unsigned int w1_576:10; 50 | unsigned int w2_576:10; 51 | } type34_t; 52 | 53 | typedef struct { 54 | size_t len1; 55 | const type1_t *const tab1; 56 | size_t len2; 57 | const type2_t *const tab2; 58 | size_t len3; 59 | const type34_t *const tab3; 60 | size_t len4; 61 | const type34_t *const tab4; 62 | } type5_t; 63 | 64 | extern const type5_t table5[6]; 65 | 66 | #endif 67 | 68 | #define HTN 34 69 | 70 | struct huffcodetab { 71 | const unsigned int xlen; /* max. x-index+ */ 72 | const unsigned int linmax; /* max number to be stored in linbits */ 73 | const uint16_t *table; /* pointer to array[xlen][ylen] */ 74 | const uint8_t *hlen; /* pointer to array[xlen][ylen] */ 75 | }; 76 | 77 | extern const struct huffcodetab ht[HTN]; 78 | /* global memory block */ 79 | /* array of all huffcodtable headers */ 80 | /* 0..31 Huffman code table 0..31 */ 81 | /* 32,33 count1-tables */ 82 | 83 | extern const uint8_t t32l[]; 84 | extern const uint8_t t33l[]; 85 | 86 | extern const uint32_t largetbl[16 * 16]; 87 | extern const uint32_t table23[3 * 3]; 88 | extern const uint32_t table56[4 * 4]; 89 | 90 | extern const int scfsi_band[5]; 91 | 92 | extern const int bitrate_table [3][16]; 93 | extern const int samplerate_table [3][ 4]; 94 | 95 | #endif /* LAME_TABLES_H */ 96 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/vbrquantize.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MP3 VBR quantization 3 | * 4 | * Copyright (c) 1999 Mark Taylor 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_VBRQUANTIZE_H 23 | #define LAME_VBRQUANTIZE_H 24 | 25 | int VBR_encode_frame(lame_internal_flags * gfc, const FLOAT xr34orig[2][2][576], 26 | const FLOAT l3_xmin[2][2][SFBMAX], const int maxbits[2][2]); 27 | 28 | #endif /* LAME_VBRQUANTIZE_H */ 29 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/vector/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Id: Makefile.am,v 1.1 2007/01/09 10:15:53 aleidinger Exp $ 2 | 3 | include $(top_srcdir)/Makefile.am.global 4 | 5 | if WITH_XMM 6 | noinst_LTLIBRARIES = liblamevectorroutines.la 7 | endif 8 | 9 | ##liblamecpuroutines_la_LIBADD = 10 | ##liblamecpuroutines_la_LDFLAGS = 11 | 12 | INCLUDES = @INCLUDES@ \ 13 | -I$(top_srcdir)/libmp3lame \ 14 | -I$(top_srcdir)/mpglib \ 15 | -I$(top_builddir) 16 | 17 | DEFS = @DEFS@ @CONFIG_DEFS@ 18 | 19 | xmm_sources = xmm_quantize_sub.c 20 | 21 | if WITH_XMM 22 | liblamevectorroutines_la_SOURCES = $(xmm_sources) 23 | endif 24 | 25 | noinst_HEADERS = lame_intrin.h 26 | 27 | EXTRA_liblamevectorroutines_la_SOURCES = $(xmm_sources) 28 | 29 | CLEANFILES = lclint.txt 30 | 31 | LCLINTFLAGS= \ 32 | +posixlib \ 33 | +showsummary \ 34 | +showalluses \ 35 | +whichlib \ 36 | +forcehints \ 37 | -fixedformalarray \ 38 | +matchanyintegral \ 39 | -Dlint 40 | 41 | lclint.txt: ${liblamecpuroutines_la_SOURCES} ${noinst_HEADERS} 42 | @lclint ${LCLINTFLAGS} ${INCLUDES} ${DEFS} ${liblamecpuroutines_la_SOURCES} 2>&1 >lclint.txt || true 43 | 44 | lclint: lclint.txt 45 | more lclint.txt 46 | 47 | #$(OBJECTS): libtool 48 | #libtool: $(LIBTOOL_DEPS) 49 | # $(SHELL) $(top_builddir)/config.status --recheck 50 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/vector/lame_intrin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * lame_intrin.h include file 3 | * 4 | * Copyright (c) 2006 Gabriel Bouvigne 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | 23 | #ifndef LAME_INTRIN_H 24 | #define LAME_INTRIN_H 25 | 26 | 27 | void 28 | init_xrpow_core_sse(gr_info * const cod_info, FLOAT xrpow[576], int upper, FLOAT * sum); 29 | 30 | void 31 | fht_SSE2(FLOAT* , int); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame/version.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Version numbering for LAME. 3 | * 4 | * Copyright (c) 1999 A.L. Faber 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the 18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 | * Boston, MA 02111-1307, USA. 20 | */ 21 | 22 | #ifndef LAME_VERSION_H 23 | #define LAME_VERSION_H 24 | 25 | 26 | /* 27 | * To make a string from a token, use the # operator: 28 | */ 29 | #ifndef STR 30 | # define __STR(x) #x 31 | # define STR(x) __STR(x) 32 | #endif 33 | 34 | # define LAME_URL "http://lame.sf.net" 35 | 36 | 37 | # define LAME_MAJOR_VERSION 3 /* Major version number */ 38 | # define LAME_MINOR_VERSION 99 /* Minor version number */ 39 | # define LAME_TYPE_VERSION 2 /* 0:alpha 1:beta 2:release */ 40 | # define LAME_PATCH_VERSION 5 /* Patch level */ 41 | # define LAME_ALPHA_VERSION (LAME_TYPE_VERSION==0) 42 | # define LAME_BETA_VERSION (LAME_TYPE_VERSION==1) 43 | # define LAME_RELEASE_VERSION (LAME_TYPE_VERSION==2) 44 | 45 | # define PSY_MAJOR_VERSION 1 /* Major version number */ 46 | # define PSY_MINOR_VERSION 0 /* Minor version number */ 47 | # define PSY_ALPHA_VERSION 0 /* Set number if this is an alpha version, otherwise zero */ 48 | # define PSY_BETA_VERSION 0 /* Set number if this is a beta version, otherwise zero */ 49 | 50 | #if LAME_ALPHA_VERSION 51 | #define LAME_PATCH_LEVEL_STRING " alpha " STR(LAME_PATCH_VERSION) 52 | #endif 53 | #if LAME_BETA_VERSION 54 | #define LAME_PATCH_LEVEL_STRING " beta " STR(LAME_PATCH_VERSION) 55 | #endif 56 | #if LAME_RELEASE_VERSION 57 | #if LAME_PATCH_VERSION 58 | #define LAME_PATCH_LEVEL_STRING " release " STR(LAME_PATCH_VERSION) 59 | #else 60 | #define LAME_PATCH_LEVEL_STRING "" 61 | #endif 62 | #endif 63 | 64 | # define LAME_VERSION_STRING STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) LAME_PATCH_LEVEL_STRING 65 | 66 | #endif /* LAME_VERSION_H */ 67 | 68 | /* End of version.h */ 69 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libmp3lame_build.mk: -------------------------------------------------------------------------------- 1 | LOCAL_SRC_FILES += libmp3lame/bitstream.c\ 2 | libmp3lame/fft.c\ 3 | libmp3lame/id3tag.c\ 4 | libmp3lame/mpglib_interface.c\ 5 | libmp3lame/presets.c\ 6 | libmp3lame/quantize.c\ 7 | libmp3lame/reservoir.c\ 8 | libmp3lame/tables.c\ 9 | libmp3lame/util.c\ 10 | libmp3lame/VbrTag.c\ 11 | libmp3lame/encoder.c\ 12 | libmp3lame/gain_analysis.c\ 13 | libmp3lame/lame.c\ 14 | libmp3lame/newmdct.c\ 15 | libmp3lame/psymodel.c\ 16 | libmp3lame/quantize_pvt.c\ 17 | libmp3lame/set_get.c\ 18 | libmp3lame/takehiro.c\ 19 | libmp3lame/vbrquantize.c\ 20 | libmp3lame/version.c\ 21 | mp3encoder.cpp 22 | 23 | 24 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/Changelog.txt: -------------------------------------------------------------------------------- 1 | $Id: Changelog.txt,v 1.30 2012/08/21 17:24:06 nanard Exp $ 2 | 3 | 2012/08/21: 4 | Little change in Makefile 5 | removed warnings in testgetgateway.c 6 | Fixed bugs in command line argumentparsing in natpmpc.c 7 | 8 | 2011/08/07: 9 | Patch to build on debian/kFreeBSD. 10 | 11 | 2011/07/15: 12 | Put 3 clauses BSD licence at the top of source files. 13 | 14 | 2011/06/18: 15 | --no-undefined => -Wl,--no-undefined 16 | adding a natpmpc.1 man page 17 | 18 | 2011/05/19: 19 | Small fix in libnatpmpmodule.c thanks to Manuel Mausz 20 | 21 | 2011/01/03: 22 | Added an argument to initnatpmp() in order to force the gateway to be used 23 | 24 | 2011/01/01: 25 | fix in make install 26 | 27 | 2010/05/21: 28 | make install now working under MacOSX (and BSD) 29 | 30 | 2010/04/12: 31 | cplusplus stuff in natpmp.h 32 | 33 | 2010/02/02: 34 | Fixed compilation under Mac OS X 35 | 36 | 2009/12/19: 37 | improve and fix building under Windows. 38 | Project files for MS Visual Studio 2008 39 | More simple (and working) code for Win32. 40 | More checks in the /proc/net/route parsing. Add some comments. 41 | 42 | 2009/08/04: 43 | improving getgateway.c for windows 44 | 45 | 2009/07/13: 46 | Adding Haiku code in getgateway.c 47 | 48 | 2009/06/04: 49 | Adding Python module thanks to David Wu 50 | 51 | 2009/03/10: 52 | Trying to have windows get gateway working if not using DHCP 53 | 54 | 2009/02/27: 55 | dont include declspec.h if not under WIN32. 56 | 57 | 2009/01/23: 58 | Prefixed the libraries name with lib 59 | 60 | 2008/10/06: 61 | Fixed a memory leak in getdefaultgateway() (USE_SYSCTL_NET_ROUTE) 62 | 63 | 2008/07/03: 64 | Adding WIN32 code from Robbie Hanson 65 | 66 | 2008/06/30: 67 | added a Solaris implementation for getgateway(). 68 | added a LICENCE file to the distribution 69 | 70 | 2008/05/29: 71 | Anonymous unions are forbidden in ANSI C. That was causing problems with 72 | non-GCC compilers. 73 | 74 | 2008/04/28: 75 | introduced strnatpmperr() 76 | improved natpmpc.c sample 77 | make install now install the binary 78 | 79 | 2007/12/13: 80 | Fixed getgateway.c for working under OS X ;) 81 | Fixed values for NATPMP_PROTOCOL_TCP and NATPMP_PROTOCOL_UDP 82 | 83 | 2007/12/11: 84 | Fixed getgateway.c for compilation under Mac OS X 85 | 86 | 2007/12/01: 87 | added some comments in .h 88 | 89 | 2007/11/30: 90 | implemented almost everything 91 | 92 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2007-2011, Thomas BERNARD 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, 8 | this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | * The name of the author may not be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 19 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 | POSSIBILITY OF SUCH DAMAGE. 26 | 27 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/Makefile: -------------------------------------------------------------------------------- 1 | # $Id: Makefile,v 1.19 2012/08/21 17:24:07 nanard Exp $ 2 | # This Makefile is designed for use with GNU make 3 | # libnatpmp 4 | # (c) 2007-2011 Thomas Bernard 5 | # http://miniupnp.free.fr/libnatpmp.html 6 | 7 | OS = $(shell uname -s) 8 | CC = gcc 9 | INSTALL = install 10 | 11 | # APIVERSION is used in soname 12 | APIVERSION = 1 13 | #LDFLAGS = -Wl,--no-undefined 14 | CFLAGS = -Os 15 | #CFLAGS = -g -O0 16 | CFLAGS += -fPIC 17 | CFLAGS += -Wall 18 | CFLAGS += -Wextra 19 | CFLAGS += -DENABLE_STRNATPMPERR 20 | 21 | LIBOBJS = natpmp.o getgateway.o 22 | 23 | OBJS = $(LIBOBJS) testgetgateway.o natpmpc.o 24 | 25 | STATICLIB = libnatpmp.a 26 | ifeq ($(OS), Darwin) 27 | SHAREDLIB = libnatpmp.dylib 28 | SONAME = $(basename $(SHAREDLIB)).$(APIVERSION).dylib 29 | CFLAGS := -DMACOSX -D_DARWIN_C_SOURCE $(CFLAGS) 30 | else 31 | SHAREDLIB = libnatpmp.so 32 | SONAME = $(SHAREDLIB).$(APIVERSION) 33 | endif 34 | 35 | HEADERS = natpmp.h 36 | 37 | EXECUTABLES = testgetgateway natpmpc-shared natpmpc-static 38 | 39 | INSTALLPREFIX ?= $(PREFIX)/usr 40 | INSTALLDIRINC = $(INSTALLPREFIX)/include 41 | INSTALLDIRLIB = $(INSTALLPREFIX)/lib 42 | INSTALLDIRBIN = $(INSTALLPREFIX)/bin 43 | 44 | .PHONY: all clean depend install cleaninstall installpythonmodule 45 | 46 | all: $(STATICLIB) $(SHAREDLIB) $(EXECUTABLES) 47 | 48 | pythonmodule: $(STATICLIB) libnatpmpmodule.c setup.py 49 | python setup.py build 50 | touch $@ 51 | 52 | installpythonmodule: pythonmodule 53 | python setup.py install 54 | 55 | clean: 56 | $(RM) $(OBJS) $(EXECUTABLES) $(STATICLIB) $(SHAREDLIB) 57 | $(RM) pythonmodule 58 | $(RM) -r build/ dist/ 59 | 60 | depend: 61 | makedepend -f$(MAKEFILE_LIST) -Y $(OBJS:.o=.c) 2>/dev/null 62 | 63 | install: $(HEADERS) $(STATICLIB) $(SHAREDLIB) natpmpc-shared 64 | $(INSTALL) -d $(INSTALLDIRINC) 65 | $(INSTALL) -m 644 $(HEADERS) $(INSTALLDIRINC) 66 | $(INSTALL) -d $(INSTALLDIRLIB) 67 | $(INSTALL) -m 644 $(STATICLIB) $(INSTALLDIRLIB) 68 | $(INSTALL) -m 644 $(SHAREDLIB) $(INSTALLDIRLIB)/$(SONAME) 69 | $(INSTALL) -d $(INSTALLDIRBIN) 70 | $(INSTALL) -m 755 natpmpc-shared $(INSTALLDIRBIN)/natpmpc 71 | ln -s -f $(SONAME) $(INSTALLDIRLIB)/$(SHAREDLIB) 72 | 73 | cleaninstall: 74 | $(RM) $(addprefix $(INSTALLDIRINC), $(HEADERS)) 75 | $(RM) $(INSTALLDIRLIB)/$(SONAME) 76 | $(RM) $(INSTALLDIRLIB)/$(SHAREDLIB) 77 | $(RM) $(INSTALLDIRLIB)/$(STATICLIB) 78 | 79 | testgetgateway: testgetgateway.o getgateway.o 80 | 81 | natpmpc-static: natpmpc.o $(STATICLIB) 82 | $(CC) $(LDFLAGS) -o $@ $^ 83 | 84 | natpmpc-shared: natpmpc.o $(SHAREDLIB) 85 | $(CC) $(LDFLAGS) -o $@ $^ 86 | 87 | $(STATICLIB): $(LIBOBJS) 88 | $(AR) crs $@ $? 89 | 90 | $(SHAREDLIB): $(LIBOBJS) 91 | ifeq ($(OS), Darwin) 92 | $(CC) -dynamiclib -Wl,-install_name,$(SONAME) -o $@ $^ 93 | else 94 | $(CC) -shared -Wl,-soname,$(SONAME) -o $@ $^ 95 | endif 96 | 97 | # DO NOT DELETE 98 | 99 | natpmp.o: natpmp.h getgateway.h declspec.h 100 | getgateway.o: getgateway.h declspec.h 101 | testgetgateway.o: getgateway.h declspec.h 102 | natpmpc.o: natpmp.h 103 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/README: -------------------------------------------------------------------------------- 1 | libnatpmp (c) 2007-2009 Thomas Bernard 2 | contact : miniupnp@free.fr 3 | 4 | see http://miniupnp.free.fr/libnatpmp.html 5 | or http://miniupnp.tuxfamily.org/libnatpmp.html 6 | for some documentation and code samples. 7 | 8 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/build.bat: -------------------------------------------------------------------------------- 1 | @echo Compiling with MinGW 2 | @SET LIBS=-lws2_32 -liphlpapi 3 | 4 | @echo Compile getgateway 5 | gcc -c -Wall -Os -DWIN32 -DSTATICLIB -DENABLE_STRNATPMPERR getgateway.c 6 | gcc -c -Wall -Os -DWIN32 -DSTATICLIB -DENABLE_STRNATPMPERR testgetgateway.c 7 | gcc -o testgetgateway getgateway.o testgetgateway.o %LIBS% 8 | del testgetgateway.o 9 | 10 | @echo Compile natpmp-static: 11 | gcc -c -Wall -Os -DWIN32 -DSTATICLIB -DENABLE_STRNATPMPERR getgateway.c 12 | gcc -c -Wall -Os -DWIN32 -DSTATICLIB -DENABLE_STRNATPMPERR natpmp.c 13 | gcc -c -Wall -Os -DWIN32 wingettimeofday.c 14 | ar cr natpmp.a getgateway.o natpmp.o wingettimeofday.o 15 | del getgateway.o natpmp.o 16 | gcc -c -Wall -Os -DWIN32 -DSTATICLIB -DENABLE_STRNATPMPERR natpmpc.c 17 | gcc -o natpmpc-static natpmpc.o natpmp.a %LIBS% 18 | upx --best natpmpc-static.exe 19 | del natpmpc.o 20 | 21 | @echo Create natpmp.dll: 22 | gcc -c -Wall -Os -DWIN32 -DENABLE_STRNATPMPERR -DNATPMP_EXPORTS getgateway.c 23 | gcc -c -Wall -Os -DWIN32 -DENABLE_STRNATPMPERR -DNATPMP_EXPORTS natpmp.c 24 | dllwrap -k --driver-name gcc --def natpmp.def --output-def natpmp.dll.def --implib natpmp.lib -o natpmp.dll getgateway.o natpmp.o wingettimeofday.o %LIBS% 25 | 26 | @echo Compile natpmp-shared: 27 | gcc -c -Wall -Os -DWIN32 -DENABLE_STRNATPMPERR -DNATPMP_EXPORTS natpmpc.c 28 | gcc -o natpmpc-shared natpmpc.o natpmp.lib -lws2_32 29 | upx --best natpmpc-shared.exe 30 | del *.o 31 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/declspec.h: -------------------------------------------------------------------------------- 1 | #ifndef __DECLSPEC_H__ 2 | #define __DECLSPEC_H__ 3 | 4 | #if defined(WIN32) && !defined(STATICLIB) 5 | #ifdef NATPMP_EXPORTS 6 | #define LIBSPEC __declspec(dllexport) 7 | #else 8 | #define LIBSPEC __declspec(dllimport) 9 | #endif 10 | #else 11 | #define LIBSPEC 12 | #endif 13 | 14 | #endif 15 | 16 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/getgateway.h: -------------------------------------------------------------------------------- 1 | /* $Id: getgateway.h,v 1.6 2012/03/05 19:38:37 nanard Exp $ */ 2 | /* libnatpmp 3 | Copyright (c) 2007-2011, Thomas BERNARD 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, 10 | this list of conditions and the following disclaimer. 11 | * Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | * The name of the author may not be used to endorse or promote products 15 | derived from this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | #ifndef __GETGATEWAY_H__ 30 | #define __GETGATEWAY_H__ 31 | 32 | #ifdef WIN32 33 | #if !defined(_MSC_VER) 34 | #include 35 | #else 36 | typedef unsigned long uint32_t; 37 | typedef unsigned short uint16_t; 38 | #endif 39 | #define in_addr_t uint32_t 40 | #include "declspec.h" 41 | #else 42 | #define LIBSPEC 43 | #include 44 | #include 45 | #include 46 | #endif 47 | /* getdefaultgateway() : 48 | * return value : 49 | * 0 : success 50 | * -1 : failure */ 51 | LIBSPEC int getdefaultgateway(in_addr_t * addr); 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/msvc/libnatpmp.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual C++ Express 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libnatpmp", "libnatpmp.vcproj", "{D59B6527-F3DE-4D26-A08D-52F1EE989301}" 5 | EndProject 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "natpmpc-static", "natpmpc-static.vcproj", "{A0B49FA9-98AB-4A74-8B4C-8AB7FA36089B}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | {D59B6527-F3DE-4D26-A08D-52F1EE989301} = {D59B6527-F3DE-4D26-A08D-52F1EE989301} 9 | EndProjectSection 10 | EndProject 11 | Global 12 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 13 | Debug|Win32 = Debug|Win32 14 | Release|Win32 = Release|Win32 15 | EndGlobalSection 16 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 17 | {D59B6527-F3DE-4D26-A08D-52F1EE989301}.Debug|Win32.ActiveCfg = Debug|Win32 18 | {D59B6527-F3DE-4D26-A08D-52F1EE989301}.Debug|Win32.Build.0 = Debug|Win32 19 | {D59B6527-F3DE-4D26-A08D-52F1EE989301}.Release|Win32.ActiveCfg = Release|Win32 20 | {D59B6527-F3DE-4D26-A08D-52F1EE989301}.Release|Win32.Build.0 = Release|Win32 21 | {A0B49FA9-98AB-4A74-8B4C-8AB7FA36089B}.Debug|Win32.ActiveCfg = Debug|Win32 22 | {A0B49FA9-98AB-4A74-8B4C-8AB7FA36089B}.Debug|Win32.Build.0 = Debug|Win32 23 | {A0B49FA9-98AB-4A74-8B4C-8AB7FA36089B}.Release|Win32.ActiveCfg = Release|Win32 24 | {A0B49FA9-98AB-4A74-8B4C-8AB7FA36089B}.Release|Win32.Build.0 = Release|Win32 25 | EndGlobalSection 26 | GlobalSection(SolutionProperties) = preSolution 27 | HideSolutionNode = FALSE 28 | EndGlobalSection 29 | EndGlobal 30 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/msvc/libnatpmp.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/jni/libnatpmp/msvc/libnatpmp.vcproj -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/msvc/natpmpc-static.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/jni/libnatpmp/msvc/natpmpc-static.vcproj -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/natpmp.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | ; libnatpmp library 3 | 4 | EXPORTS 5 | initnatpmp 6 | closenatpmp 7 | sendpublicaddressrequest 8 | sendnewportmappingrequest 9 | getnatpmprequesttimeout 10 | readnatpmpresponseorretry 11 | strnatpmperr 12 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/natpmpc.1: -------------------------------------------------------------------------------- 1 | .TH natpmpc 1 2 | 3 | .SH NAME 4 | natpmpc \- NAT\-PMP library test client and mapping setter. 5 | 6 | .SH "SYNOPSIS" 7 | Display the public IP address: 8 | .br 9 | \fBnatpmpc\fP 10 | 11 | Add a port mapping: 12 | .br 13 | \fBnatpmpc\fP \-a [lifetime] 14 | 15 | .SH DESCRIPTION 16 | 17 | In order to remove a mapping, set it with a lifetime of 0 seconds. 18 | To remove all mappings for your machine, use 0 as private port and 19 | lifetime. 20 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/setup.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/python 2 | # $Id: setup.py,v 1.3 2012/03/05 04:54:01 nanard Exp $ 3 | # 4 | # python script to build the libnatpmp module under unix 5 | # 6 | # replace libnatpmp.a by libnatpmp.so for shared library usage 7 | from distutils.core import setup, Extension 8 | from distutils import sysconfig 9 | sysconfig.get_config_vars()["OPT"] = '' 10 | sysconfig.get_config_vars()["CFLAGS"] = '' 11 | setup(name="libnatpmp", version="1.0", 12 | ext_modules=[ 13 | Extension(name="libnatpmp", sources=["libnatpmpmodule.c"], 14 | extra_objects=["libnatpmp.a"], 15 | define_macros=[('ENABLE_STRNATPMPERR', None)] 16 | )] 17 | ) 18 | 19 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/setupmingw32.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/python 2 | # $Id: setupmingw32.py,v 1.3 2012/03/05 04:54:01 nanard Exp $ 3 | # python script to build the miniupnpc module under windows 4 | # 5 | from distutils.core import setup, Extension 6 | from distutils import sysconfig 7 | sysconfig.get_config_vars()["OPT"] = '' 8 | sysconfig.get_config_vars()["CFLAGS"] = '' 9 | setup(name="libnatpmp", version="1.0", 10 | ext_modules=[ 11 | Extension(name="libnatpmp", sources=["libnatpmpmodule.c"], 12 | libraries=["ws2_32"], 13 | extra_objects=["libnatpmp.a"], 14 | define_macros=[('ENABLE_STRNATPMPERR', None)] 15 | )] 16 | ) 17 | 18 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/testgetgateway.c: -------------------------------------------------------------------------------- 1 | /* $Id: testgetgateway.c,v 1.7 2012/08/21 17:13:31 nanard Exp $ */ 2 | /* libnatpmp 3 | Copyright (c) 2007-2011, Thomas BERNARD 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, 10 | this list of conditions and the following disclaimer. 11 | * Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | * The name of the author may not be used to endorse or promote products 15 | derived from this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | #include 30 | #ifdef WIN32 31 | #include 32 | #else 33 | #include 34 | #include 35 | #endif 36 | #include "getgateway.h" 37 | 38 | int main(int argc, char * * argv) 39 | { 40 | (void)argc; 41 | (void)argv; 42 | struct in_addr gatewayaddr; 43 | int r; 44 | #ifdef WIN32 45 | uint32_t temp = 0; 46 | r = getdefaultgateway(&temp); 47 | gatewayaddr.S_un.S_addr = temp; 48 | #else 49 | r = getdefaultgateway(&(gatewayaddr.s_addr)); 50 | #endif 51 | if(r>=0) 52 | printf("default gateway : %s\n", inet_ntoa(gatewayaddr)); 53 | else 54 | fprintf(stderr, "getdefaultgateway() failed\n"); 55 | return 0; 56 | } 57 | 58 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/wingettimeofday.c: -------------------------------------------------------------------------------- 1 | /* $Id: wingettimeofday.c,v 1.5 2012/03/05 19:38:37 nanard Exp $ */ 2 | /* libnatpmp 3 | Copyright (c) 2007-2011, Thomas BERNARD 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, 10 | this list of conditions and the following disclaimer. 11 | * Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | * The name of the author may not be used to endorse or promote products 15 | derived from this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | #ifdef WIN32 30 | #if defined(_MSC_VER) 31 | struct timeval { 32 | long tv_sec; 33 | long tv_usec; 34 | }; 35 | #else 36 | #include 37 | #endif 38 | 39 | typedef struct _FILETIME { 40 | unsigned long dwLowDateTime; 41 | unsigned long dwHighDateTime; 42 | } FILETIME; 43 | 44 | void __stdcall GetSystemTimeAsFileTime(FILETIME*); 45 | 46 | int gettimeofday(struct timeval* p, void* tz /* IGNORED */) { 47 | union { 48 | long long ns100; /*time since 1 Jan 1601 in 100ns units */ 49 | FILETIME ft; 50 | } _now; 51 | 52 | if(!p) 53 | return -1; 54 | GetSystemTimeAsFileTime( &(_now.ft) ); 55 | p->tv_usec =(long)((_now.ns100 / 10LL) % 1000000LL ); 56 | p->tv_sec = (long)((_now.ns100-(116444736000000000LL))/10000000LL); 57 | return 0; 58 | } 59 | #endif 60 | 61 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp/wingettimeofday.h: -------------------------------------------------------------------------------- 1 | /* $Id: wingettimeofday.h,v 1.3 2012/03/05 19:38:37 nanard Exp $ */ 2 | /* libnatpmp 3 | Copyright (c) 2007-2011, Thomas BERNARD 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, 10 | this list of conditions and the following disclaimer. 11 | * Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | * The name of the author may not be used to endorse or promote products 15 | derived from this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | #ifndef __WINGETTIMEOFDAY_H__ 30 | #define __WINGETTIMEOFDAY_H__ 31 | #ifdef WIN32 32 | #if defined(_MSC_VER) 33 | #include 34 | #else 35 | #include 36 | #endif 37 | int gettimeofday(struct timeval* p, void* tz /* IGNORED */); 38 | #endif 39 | #endif 40 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/libnatpmp_build.mk: -------------------------------------------------------------------------------- 1 | LOCAL_SRC_FILES += libnatpmp/natpmp.c\ 2 | libnatpmp/getgateway.c\ 3 | natpmpclient.cpp 4 | 5 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/mp3encoder.cpp: -------------------------------------------------------------------------------- 1 | #include "beginvision.h" 2 | 3 | #include "libmp3lame/lame.h" 4 | 5 | #define JNIDEFINE(fname) Java_teaonly_droideye_MainActivity_##fname 6 | extern "C" { 7 | JNIEXPORT jint JNICALL JNIDEFINE(nativeOpenEncoder)(JNIEnv* env, jclass clz); 8 | JNIEXPORT jint JNICALL JNIDEFINE(nativeEncodingPCM)(JNIEnv* env, jclass clz, jbyteArray pcmData, jint length, jbyteArray mp3Data); 9 | JNIEXPORT void JNICALL JNIDEFINE(nativeCloseEncoder)(JNIEnv* env, jclass clz); 10 | }; 11 | 12 | /*********************************************** 13 | Define module variable 14 | ************************************************/ 15 | static lame_t lame; 16 | 17 | JNIEXPORT jint JNICALL JNIDEFINE(nativeOpenEncoder)(JNIEnv* env, jclass clz) { 18 | 19 | lame = lame_init(); 20 | lame_set_in_samplerate(lame, 44100); 21 | //lame_set_num_channels(lame, 1); 22 | lame_set_VBR(lame, vbr_default); 23 | lame_init_params(lame); 24 | 25 | return 0; 26 | } 27 | 28 | JNIEXPORT void JNICALL JNIDEFINE(nativeCloseEncoder)(JNIEnv* env, jclass clz) { 29 | lame_close(lame); 30 | return; 31 | } 32 | 33 | JNIEXPORT jint JNICALL JNIDEFINE(nativeEncodingPCM)(JNIEnv* env, jclass clz, jbyteArray pcmData, jint pcmLength, jbyteArray mp3Data) { 34 | jbyte *pcm, *mp3; 35 | 36 | jboolean isCopy = false; 37 | pcm = env->GetByteArrayElements(pcmData, &isCopy); 38 | mp3 = env->GetByteArrayElements(mp3Data, &isCopy); 39 | int mp3Size = env->GetArrayLength(mp3Data); 40 | 41 | //int ret = lame_encode_buffer_interleaved(lame, (short *)pcm, pcmLength/2, (unsigned char *)mp3, mp3Size); 42 | int ret = lame_encode_buffer(lame, (short *)pcm, (short *)pcm, pcmLength/2, (unsigned char *)mp3, mp3Size); 43 | 44 | env->ReleaseByteArrayElements(pcmData, pcm, JNI_ABORT); /*Don't copy to java side*/ 45 | env->ReleaseByteArrayElements(mp3Data, mp3, 0); /*Copy to java side*/ 46 | return ret; 47 | } 48 | 49 | 50 | -------------------------------------------------------------------------------- /send-pin-with-camera/jni/natpmpclient.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "beginvision.h" 5 | 6 | #include "libnatpmp/natpmp.h" 7 | 8 | #define JNIDEFINE(fname) Java_teaonly_droideye_MainActivity_##fname 9 | 10 | extern "C" { 11 | JNIEXPORT jstring JNICALL JNIDEFINE(nativeQueryInternet)(JNIEnv* env, jclass clz); 12 | }; 13 | 14 | 15 | jstring JNICALL JNIDEFINE(nativeQueryInternet)(JNIEnv* env, jclass clz) { 16 | natpmp_t natpmp; 17 | natpmpresp_t response; 18 | std::string ipaddr; 19 | uint16_t privatePort = 8080; 20 | uint16_t publicPort = 7910; 21 | uint32_t lifetime = 36000; // 10 hours 22 | int protocol = NATPMP_PROTOCOL_TCP; 23 | in_addr_t gateway = 0; 24 | fd_set fds; 25 | struct timeval timeout; 26 | int ret; 27 | std::string result = ""; 28 | 29 | // 1. init internal object 30 | ret = initnatpmp(&natpmp, 0, gateway); 31 | if (ret < 0) { 32 | result = "error:gateway"; 33 | goto _done; 34 | } 35 | 36 | // 2. get internet public ip address 37 | ret = sendpublicaddressrequest(&natpmp); 38 | if ( ret != 2) { 39 | result = "error:ipaddr"; 40 | goto _done; 41 | } 42 | FD_ZERO(&fds); 43 | FD_SET(natpmp.s, &fds); 44 | getnatpmprequesttimeout(&natpmp, &timeout); 45 | ret = select(FD_SETSIZE, &fds, NULL, NULL, &timeout); 46 | if(ret < 0) { 47 | result = "error:select"; 48 | goto _done; 49 | } 50 | ret = readnatpmpresponseorretry(&natpmp, &response); 51 | if( ret == NATPMP_TRYAGAIN ) { 52 | result = "error:timeout"; 53 | goto _done; 54 | } else if ( ret < 0) { 55 | result = "error:failed"; 56 | goto _done; 57 | } 58 | ipaddr = inet_ntoa(response.pnu.publicaddress.addr); 59 | 60 | // 3. set extern port mapping 61 | ret = sendnewportmappingrequest(&natpmp, protocol, 62 | privatePort, publicPort, 63 | lifetime); 64 | FD_ZERO(&fds); 65 | FD_SET(natpmp.s, &fds); 66 | getnatpmprequesttimeout(&natpmp, &timeout); 67 | ret = select(FD_SETSIZE, &fds, NULL, NULL, &timeout); 68 | if(ret < 0) { 69 | result = "error:select"; 70 | goto _done; 71 | } 72 | ret = readnatpmpresponseorretry(&natpmp, &response); 73 | if( ret == NATPMP_TRYAGAIN ) { 74 | result = "error:timeout"; 75 | goto _done; 76 | } else if ( ret < 0) { 77 | result = "error:failed"; 78 | goto _done; 79 | } 80 | privatePort = response.pnu.newportmapping.privateport; 81 | publicPort = response.pnu.newportmapping.mappedpublicport; 82 | 83 | { 84 | std::stringstream stream; 85 | stream << "http://" << ipaddr << ":" << publicPort; 86 | result = stream.str(); 87 | } 88 | 89 | _done: 90 | return env->NewStringUTF(result.c_str()); 91 | } 92 | 93 | -------------------------------------------------------------------------------- /send-pin-with-camera/libs/armeabi/libmp3encoder.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/libs/armeabi/libmp3encoder.so -------------------------------------------------------------------------------- /send-pin-with-camera/libs/armeabi/libnatpmp.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/libs/armeabi/libnatpmp.so -------------------------------------------------------------------------------- /send-pin-with-camera/libs/x86/libmp3encoder.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/libs/x86/libmp3encoder.so -------------------------------------------------------------------------------- /send-pin-with-camera/libs/x86/libnatpmp.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/libs/x86/libnatpmp.so -------------------------------------------------------------------------------- /send-pin-with-camera/readme.txt: -------------------------------------------------------------------------------- 1 | An app to crack a PIN code, when the target system loses keypresses (happens in MacOS BIOS). 2 | 3 | It uses camera to check if each keypress is recognized. 4 | 5 | You have to align your phone camera so that blue circles will match positions of PIN code digits on the screen. 6 | 7 | This app does not work on Lollipop, only on Android 4.X. 8 | To modify amount of digits in PIN code, change variable PIN_LENGTH inside MainActivity.java and recompile this app. 9 | -------------------------------------------------------------------------------- /send-pin-with-camera/res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/res/drawable/icon.png -------------------------------------------------------------------------------- /send-pin-with-camera/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | 17 | 18 | 21 | 22 | 28 | 29 | 35 | 44 | 54 | 55 | 56 | 62 | 72 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /send-pin-with-camera/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Wifi Camera 4 | 5 | Exit 6 | 7 | Open at local: 8 | Open at internet: 9 | Detecting internet ... 10 | Also you can setup your router to access from internet 11 | Error: Please enable wifi 12 | 13 | -------------------------------------------------------------------------------- /send-pin-with-camera/send-pin-with-camera.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pelya/android-keyboard-gadget/b32010cfae6d566ce9f8ae2963d14a6e18508d8d/send-pin-with-camera/send-pin-with-camera.apk -------------------------------------------------------------------------------- /send-pin-with-camera/src/teaonly/droideye/OverlayView.java: -------------------------------------------------------------------------------- 1 | package teaonly.droideye; 2 | 3 | import android.content.Context; 4 | import android.graphics.Bitmap; 5 | import android.graphics.BitmapFactory; 6 | import android.graphics.Canvas; 7 | import android.graphics.Color; 8 | import android.graphics.Paint; 9 | import android.graphics.PorterDuff; 10 | import android.graphics.PorterDuffXfermode; 11 | import android.graphics.Rect; 12 | import android.graphics.RectF; 13 | import android.util.AttributeSet; 14 | import android.util.Log; 15 | import android.view.View; 16 | 17 | public class OverlayView extends View { 18 | public static interface UpdateDoneCallback { 19 | public void onUpdateDone(); 20 | } 21 | 22 | private UpdateDoneCallback updateDoneCb = null; 23 | private Bitmap targetBMP = null; 24 | private Rect targetRect = null; 25 | private Paint paint = new Paint(); 26 | 27 | 28 | public OverlayView(Context c, AttributeSet attr) { 29 | super(c, attr); 30 | paint.setStyle(Paint.Style.STROKE); 31 | paint.setStrokeWidth(2); 32 | } 33 | 34 | public void DrawResult(Bitmap bmp) { 35 | if ( targetRect == null) 36 | targetRect = new Rect(0, 0, bmp.getWidth(), bmp.getHeight()); 37 | targetBMP = bmp; 38 | postInvalidate(); 39 | } 40 | 41 | public void setUpdateDoneCallback(UpdateDoneCallback cb) { 42 | updateDoneCb = cb; 43 | } 44 | 45 | @Override 46 | protected void onDraw(Canvas canvas) { 47 | if ( targetBMP != null ) { 48 | 49 | canvas.drawBitmap(targetBMP, null, targetRect, null); 50 | 51 | } 52 | 53 | 54 | int picWidth = getWidth(); //cameraView_.Width(); 55 | int picHeight = getHeight(); //cameraView_.Height(); 56 | 57 | int y = picHeight / 2; 58 | for (int i = 0; i < MainActivity.PIN_LENGTH; i++) 59 | { 60 | int x = picWidth / 2 + (int)((i + 0.5f - MainActivity.PIN_LENGTH / 2) * MainActivity.SYMBOL_SPACING * picWidth); 61 | if (MainActivity.FRONT_CAMERA) // It's inverted 62 | x = picWidth - x; 63 | paint.setColor(MainActivity.pinEntered[i] ? Color.GREEN : Color.BLUE); 64 | canvas.drawCircle(x, y, 5, paint); 65 | } 66 | if ( updateDoneCb != null) 67 | updateDoneCb.onUpdateDone(); 68 | } 69 | 70 | } 71 | -------------------------------------------------------------------------------- /send-pin-with-camera/src/teaonly/droideye/StreamingLoop.java: -------------------------------------------------------------------------------- 1 | package teaonly.droideye; 2 | 3 | import java.io.File; 4 | import java.io.FileDescriptor; 5 | import java.io.FileOutputStream; 6 | import java.io.IOException; 7 | import java.io.InputStream; 8 | import java.io.OutputStream; 9 | 10 | import android.net.LocalServerSocket; 11 | import android.net.LocalSocket; 12 | import android.net.LocalSocketAddress; 13 | import android.os.SystemClock; 14 | import android.util.Log; 15 | 16 | 17 | public class StreamingLoop 18 | { 19 | private static String TAG = "TEAONLY"; 20 | //Local data loopback 21 | private LocalSocket receiver,sender; 22 | private LocalServerSocket lss; 23 | private String localAddress; 24 | private boolean isConnected_ = false; 25 | 26 | public StreamingLoop (String addr) 27 | { 28 | localAddress = addr; 29 | try { 30 | lss = new LocalServerSocket(localAddress); 31 | } catch (IOException e) { 32 | e.printStackTrace(); 33 | } 34 | } 35 | 36 | public InputStream getInputStream() throws IOException{ 37 | return receiver.getInputStream(); 38 | } 39 | 40 | public OutputStream getOutputStream() throws IOException{ 41 | return sender.getOutputStream(); 42 | } 43 | 44 | public void ReleaseLoop() 45 | { 46 | try { 47 | if ( receiver != null){ 48 | receiver.close(); 49 | } 50 | if ( sender != null){ 51 | sender.close(); 52 | } 53 | } catch (IOException e1) { 54 | e1.printStackTrace(); 55 | Log.d(TAG, e1.toString()); 56 | } 57 | 58 | sender = null; 59 | receiver = null; 60 | isConnected_ = false; 61 | } 62 | 63 | public boolean InitLoop(int recvBufferSize, int sendBufferSize) 64 | { 65 | receiver = new LocalSocket(); 66 | try { 67 | receiver.connect(new LocalSocketAddress(localAddress)); 68 | receiver.setReceiveBufferSize(recvBufferSize); 69 | //receiver.setSendBufferSize(512); 70 | sender = lss.accept(); 71 | //sender.setReceiveBufferSize(512); 72 | sender.setSendBufferSize(sendBufferSize); 73 | } catch (IOException e) { 74 | e.printStackTrace(); 75 | return false; 76 | } 77 | isConnected_ = true; 78 | return true; 79 | } 80 | 81 | public boolean isConnected() { 82 | return isConnected_; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /send-pin-with-camera/src/teaonly/droideye/TeaServer.java: -------------------------------------------------------------------------------- 1 | package teaonly.droideye; 2 | 3 | import java.io.*; 4 | import java.util.*; 5 | import android.content.Context; 6 | import android.util.Log; 7 | 8 | public class TeaServer extends NanoHTTPD 9 | { 10 | static final String TAG="TEAONLY"; 11 | 12 | public TeaServer(int port, Context ctx) throws IOException { 13 | super(port, ctx.getAssets()); 14 | } 15 | 16 | public TeaServer(int port, String wwwroot) throws IOException { 17 | super(port, new File(wwwroot).getAbsoluteFile() ); 18 | } 19 | 20 | @Override 21 | public Response serve( String uri, String method, Properties header, Properties parms, Properties files ) { 22 | Log.d(TAG, "httpd request >>" + method + " '" + uri + "' " + " " + parms); 23 | 24 | if ( uri.startsWith("/cgi/") ) { 25 | return serveCGI(uri, method, header, parms, files); 26 | } else if ( uri.startsWith("/stream/") ) { 27 | return serveStream(uri, method, header, parms, files); 28 | } else { 29 | return super.serve(uri, method, header, parms, files); 30 | } 31 | } 32 | 33 | public Response serveStream( String uri, String method, Properties header, Properties parms, Properties files ) { 34 | CommonGatewayInterface cgi = cgiEntries.get(uri); 35 | if ( cgi == null) 36 | return null; 37 | 38 | InputStream ins; 39 | ins = cgi.streaming(parms); 40 | if ( ins == null) 41 | return null; 42 | 43 | Random rnd = new Random(); 44 | String etag = Integer.toHexString( rnd.nextInt() ); 45 | String mime = parms.getProperty("mime"); 46 | if ( mime == null) 47 | mime = "application/octet-stream"; 48 | Response res = new Response( HTTP_OK, mime, ins); 49 | res.addHeader( "ETag", etag); 50 | res.isStreaming = true; 51 | 52 | return res; 53 | } 54 | 55 | public Response serveCGI( String uri, String method, Properties header, Properties parms, Properties files ) { 56 | CommonGatewayInterface cgi = cgiEntries.get(uri); 57 | if ( cgi == null) 58 | return null; 59 | 60 | String msg = cgi.run(parms); 61 | if ( msg == null) 62 | return null; 63 | 64 | Response res = new Response( HTTP_OK, MIME_PLAINTEXT, msg); 65 | return res; 66 | } 67 | 68 | @Override 69 | public void serveDone(Response r) { 70 | try{ 71 | if ( r.isStreaming ) { 72 | r.data.close(); 73 | } 74 | } catch(IOException ex) { 75 | } 76 | } 77 | 78 | public static interface CommonGatewayInterface { 79 | public String run(Properties parms); 80 | public InputStream streaming(Properties parms); 81 | } 82 | private HashMap cgiEntries = new HashMap(); 83 | public void registerCGI(String uri, CommonGatewayInterface cgi) { 84 | if ( cgi != null) 85 | cgiEntries.put(uri, cgi); 86 | } 87 | 88 | } 89 | -------------------------------------------------------------------------------- /send-pin-with-camera/src/teaonly/droideye/VideoFrame.java: -------------------------------------------------------------------------------- 1 | package teaonly.droideye; 2 | 3 | import android.util.Log; 4 | import java.io.*; 5 | 6 | class VideoFrame extends OutputStream { 7 | private byte[] buffer; 8 | private int bufferLength; 9 | private int currentLength; 10 | private int flag; 11 | 12 | public VideoFrame (int maxSize) { 13 | super(); 14 | buffer = new byte[maxSize]; 15 | bufferLength = maxSize; 16 | currentLength = 0; 17 | flag = 0; 18 | } 19 | 20 | public boolean acquire() { 21 | synchronized(this) { 22 | if ( flag == 0) { 23 | flag = 1; 24 | return true; 25 | } else { 26 | return false; 27 | } 28 | } 29 | } 30 | 31 | public void release() { 32 | synchronized(this) { 33 | if ( flag == 1) { 34 | flag = 0; 35 | } 36 | } 37 | } 38 | 39 | public InputStream getInputStream() { 40 | return videoInputStream; 41 | } 42 | 43 | public void reset() { 44 | currentLength = 0; 45 | } 46 | 47 | @Override 48 | public void write(int oneByte) throws IOException{ 49 | if ( currentLength >= bufferLength) { 50 | IOException ex = new IOException("Buffer overflow"); 51 | throw ex; 52 | } 53 | buffer[currentLength] = (byte)(oneByte & 0xFF); 54 | currentLength++; 55 | } 56 | 57 | @Override 58 | public void close() throws IOException { 59 | super.close(); 60 | } 61 | 62 | private InputStream videoInputStream = new InputStream() { 63 | private int rIndex = 0; 64 | 65 | @Override 66 | public int available() throws IOException{ 67 | return currentLength - rIndex; 68 | } 69 | 70 | @Override 71 | public int read (byte[] outBuffer, int offset, int length) throws IOException { 72 | int len = length; 73 | if ( length > available() ) 74 | len = available(); 75 | if ( len == 0) 76 | return 0; 77 | try{ 78 | System.arraycopy(buffer, rIndex, outBuffer, offset, len); 79 | }catch(Exception ex) { 80 | return -1; 81 | } 82 | rIndex += len; 83 | return len; 84 | } 85 | 86 | @Override 87 | public void close() throws IOException{ 88 | rIndex = 0; 89 | release(); 90 | } 91 | 92 | @Override 93 | public int read() throws IOException{ 94 | if ( rIndex >= currentLength) { 95 | IOException ex = new IOException("Buffer overflow"); 96 | throw ex; 97 | } 98 | int ret = buffer[rIndex]; 99 | rIndex++; 100 | return ret; 101 | } 102 | }; 103 | } 104 | 105 | --------------------------------------------------------------------------------