diff --git a/device/testing/device-blackberry-key2-generic/10-initfs-keymap.files b/device/testing/device-blackberry-key2-generic/10-initfs-keymap.files new file mode 100644 index 000000000..b877db832 --- /dev/null +++ b/device/testing/device-blackberry-key2-generic/10-initfs-keymap.files @@ -0,0 +1 @@ +/usr/share/bkeymaps/us/us-key2.bmap.gz diff --git a/device/testing/device-blackberry-key2-generic/10-initfs-keymap.sh b/device/testing/device-blackberry-key2-generic/10-initfs-keymap.sh new file mode 100644 index 000000000..c12481e15 --- /dev/null +++ b/device/testing/device-blackberry-key2-generic/10-initfs-keymap.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "Loading stmpe_keypad module..." +modprobe -a stmpe_keypad + +echo "Loading keymap..." +gunzip -c /usr/share/bkeymaps/us/us-key2.bmap.gz | loadkmap diff --git a/device/testing/device-blackberry-key2-generic/40-xkb.conf b/device/testing/device-blackberry-key2-generic/40-xkb.conf new file mode 100644 index 000000000..2dfacedd1 --- /dev/null +++ b/device/testing/device-blackberry-key2-generic/40-xkb.conf @@ -0,0 +1,8 @@ +Section "InputClass" + Identifier "keyboard defaults" + MatchIsKeyboard "on" + + Option "XkbModel" "pc" + Option "XkbLayout" "us" + Option "XkbVariant" "key2" +EndSection diff --git a/device/testing/device-blackberry-key2-generic/APKBUILD b/device/testing/device-blackberry-key2-generic/APKBUILD new file mode 100644 index 000000000..9c742da9f --- /dev/null +++ b/device/testing/device-blackberry-key2-generic/APKBUILD @@ -0,0 +1,91 @@ +# Maintainer: Paul Sajna + +pkgname=device-blackberry-key2-generic +pkgdesc="BlackBerry KEY2" +pkgver=1 +pkgrel=0 +url="https://postmarketos.org" +license="MIT" +arch="aarch64" +options="!check !archcheck" +depends=" + firmware-blackberry-key2-generic + kbd + linux-postmarketos-qcom-sdm660 + msm-firmware-loader + postmarketos-base + soc-qcom-sdm660 + soc-qcom-sdm660-rproc + systemd-boot + xkeyboard-config +" +makedepends=" + devicepkg-dev + kbd +" + +subpackages=" + $pkgname-sway + $pkgname-x11 +" + +source=" + 10-initfs-keymap.sh + 10-initfs-keymap.files + 40-xkb.conf + deviceinfo + etc-sway-config.d-key2.conf + keymaps/us-key2.map + keypad.conf + modules-initfs +" + +build() { + devicepkg_build $startdir $pkgname + # Keymap + cd "$srcdir" + mkdir keymaps + for i in ../keymaps/*.map; do + gzip -ck "$i" > keymaps/"${i%.*}.map.gz" + loadkeys -b $i > keymaps/"${i%.*}.bmap" + gzip keymaps/"${i%.*}.bmap" + done +} + +package() { + devicepkg_package $startdir $pkgname + # Keymap + install -D -m644 "$srcdir"/keymaps/us-key2.map.gz \ + "$pkgdir"/usr/share/kbd/keymaps/us/us-key2.map.gz + install -D -m644 "$srcdir"/keymaps/us-key2.bmap.gz \ + "$pkgdir"/usr/share/bkeymaps/us/us-key2.bmap.gz + install -Dm644 "$srcdir"/10-initfs-keymap.files \ + "$pkgdir"/usr/share/mkinitfs/files/10-initfs-keymap.files + install -Dm644 "$srcdir"/10-initfs-keymap.sh \ + "$pkgdir"/usr/share/mkinitfs/hooks/10-initfs-keymap.sh + install -Dm644 "$srcdir"/keypad.conf \ + "$pkgdir"/etc/modules-load.d/keypad.conf +} + +sway() { + install_if="$pkgname=$pkgver-r$pkgrel sway" + install -D -m644 "$srcdir"/etc-sway-config.d-key2.conf \ + "$subpkgdir"/etc/sway/config.d/key2.conf +} + +x11() { + install_if="$pkgname=$pkgver-r$pkgrel xorg-server" + install -D -m644 "$srcdir"/40-xkb.conf \ + "$subpkgdir"/etc/X11/xorg.conf.d/40-xkb.conf +} + +sha512sums=" +ab91ae3241d058edc507cd4551477e04918735bd2b56e193fac29daf7d5a3c6110eab7c4e92bdc4dad8e04519ad3187c8f16a92692367c869cdf50c87d56bb4b 10-initfs-keymap.sh +2edc79d25b71ab931113d9fac9ff244123e540b7faedae64ecefa987f16f9c30d4a891993c68c792b8d28c8ef41d62d50871b37cda46c03b68eb2a4609be0880 10-initfs-keymap.files +8b3c8701e4561ec37c11244b38d85a99b26290a5b50c12a8eb59dd0ca1c7b6330744f7efba9e51669bb5ee2ddddcda55c39a2cfc14d646ebe9c2309f876e1ff1 40-xkb.conf +2f8de2ef4d8da3b7a3fc16e59141d34b7d0ab65d4393ae828f449ceabe070514b788dbcd6cd42adfe023873145c59471442b8ef68c0d6a4e9bf12f6dbc14b358 deviceinfo +1c1f23a6a7fc6f46d9b1f7ff463a3a65ec8f9a84e4a18bee8adf756fc1b2c5365fcb3b5473553752eecb7e21613081e337d3e132beadba5647e257fcd4645b74 etc-sway-config.d-key2.conf +8d5d99c1ffb0a3bbc132708894247f14aee6d80d7f9ac78d8a93a5ccef9ba8a32b8b0e5af6fe596a08aca6f9eaa1d78e05f35fe7d350c27a770b5de81d2d2aba us-key2.map +eadabfc07e465ce7acdd11428fb86b7c8dc5210779c7511b3e6dbe325332a1402f847392401172940cf23c4aab670629e47c6b67dbd76c8cdba9495cd9000ddb keypad.conf +b72b5cfa1fdd7597bf1765556688f505f31db24e650f6f95a4f0ebddd7ac091e32a31a3f3eb324243cd48fd5d7e7f866e0eac1a2a27f238078e492eb6c106470 modules-initfs +" diff --git a/device/testing/device-blackberry-key2-generic/deviceinfo b/device/testing/device-blackberry-key2-generic/deviceinfo new file mode 100644 index 000000000..557992c0e --- /dev/null +++ b/device/testing/device-blackberry-key2-generic/deviceinfo @@ -0,0 +1,28 @@ +# Reference: +# Please use double quotes only. You can source this file in shell +# scripts. + +deviceinfo_format_version="0" +deviceinfo_name="BlackBerry KEY2" +deviceinfo_manufacturer="BlackBerry" +deviceinfo_codename="blackberry-key2-generic" +deviceinfo_year="2018" +deviceinfo_arch="aarch64" + +# Device related +deviceinfo_chassis="handset" +deviceinfo_external_storage="true" +deviceinfo_drm="true" +deviceinfo_keymaps="us/us-key2" + +# Bootloader related +deviceinfo_flash_method="fastboot" +deviceinfo_flash_fastboot_partition_kernel="cache" +deviceinfo_generate_systemd_boot="true" +deviceinfo_boot_filesystem="fat32" +deviceinfo_header_version="0" +deviceinfo_flash_offset_base="0x00000000" +deviceinfo_flash_offset_kernel="0x00008000" +deviceinfo_flash_offset_ramdisk="0x01000000" +deviceinfo_flash_offset_second="0x00f00000" +deviceinfo_flash_offset_tags="0x00000100" diff --git a/device/testing/device-blackberry-key2-generic/etc-sway-config.d-key2.conf b/device/testing/device-blackberry-key2-generic/etc-sway-config.d-key2.conf new file mode 100644 index 000000000..a0afa60ef --- /dev/null +++ b/device/testing/device-blackberry-key2-generic/etc-sway-config.d-key2.conf @@ -0,0 +1,6 @@ +# BlackBerry KEY2 LE hardware keyboard +input "0:0:STMPE_keypad" { + xkb_model "pc" + xkb_layout "us" + xkb_variant "key2" +} diff --git a/device/testing/device-blackberry-key2-generic/keymaps/us-key2.map b/device/testing/device-blackberry-key2-generic/keymaps/us-key2.map new file mode 100644 index 000000000..ad071971e --- /dev/null +++ b/device/testing/device-blackberry-key2-generic/keymaps/us-key2.map @@ -0,0 +1,92 @@ +keymaps 0-8 +keycode 16 = q + alt keycode 16 = numbersign + altgr keycode 16 = asciitilde +keycode 17 = w + alt keycode 17 = one + altgr keycode 17 = dead_grave +keycode 18 = e + alt keycode 18 = two + altgr keycode 18 = parenleft +keycode 19 = r + alt keycode 19 = three + altgr keycode 19 = parenright +keycode 20 = t + alt keycode 20 = parenleft + altgr keycode 20 = bracketleft +keycode 21 = y + alt keycode 21 = parenright + altgr keycode 21 = bracketright +keycode 22 = u + alt keycode 22 = underscore + altgr keycode 22 = less +keycode 23 = i + alt keycode 23 = minus + altgr keycode 23 = greater +keycode 24 = o + alt keycode 24 = plus + altgr keycode 24 = circumflex +keycode 25 = p + alt keycode 25 = at + altgr keycode 25 = percent +keycode 30 = a + alt keycode 30 = asterisk + altgr keycode 30 = equal +keycode 31 = s + alt keycode 31 = four + altgr keycode 31 = division +keycode 32 = d + alt keycode 32 = five + altgr keycode 32 = plusminus +keycode 33 = f + alt keycode 33 = six + #altgr keycode 33 = bullet +keycode 34 = g + alt keycode 34 = slash + altgr keycode 34 = backslash +keycode 35 = h + alt keycode 35 = colon + altgr keycode 35 = bar +keycode 36 = j + alt keycode 36 = semicolon + altgr keycode 36 = ampersand +keycode 37 = k + alt keycode 37 = apostrophe + #altgr keycode 37 = left_double_quotation_mark +keycode 38 = l + alt keycode 38 = quotedbl + #altgr keycode 38 = right_double_quotation_mark +keycode 44 = z + alt keycode 44 = seven + altgr keycode 44 = guillemotleft +keycode 45 = x + alt keycode 45 = eight + altgr keycode 45 = guillemotright +keycode 46 = c + alt keycode 46 = nine + #altgr keycode 46 = trademark +keycode 47 = v + alt keycode 47 = question + altgr keycode 47 = questiondown +keycode 48 = b + alt keycode 48 = exclam + altgr keycode 48 = exclamdown +keycode 49 = n + alt keycode 49 = comma + altgr keycode 49 = brokenbar +keycode 50 = m + alt keycode 50 = period + altgr keycode 50 = section + +keycode 1 = Escape +keycode 14 = Delete +keycode 15 = Tab +keycode 28 = Return +keycode 29 = Control +keycode 42 = Shift +keycode 54 = Shift +keycode 56 = Alt +keycode 100 = AltGr +keycode 57 = space +keycode 58 = Caps_Lock +keycode 97 = Control diff --git a/device/testing/device-blackberry-key2-generic/keypad.conf b/device/testing/device-blackberry-key2-generic/keypad.conf new file mode 100644 index 000000000..e340951b6 --- /dev/null +++ b/device/testing/device-blackberry-key2-generic/keypad.conf @@ -0,0 +1 @@ +stmpe-keypad diff --git a/device/testing/device-blackberry-key2-generic/modules-initfs b/device/testing/device-blackberry-key2-generic/modules-initfs new file mode 100644 index 000000000..65dd2ad16 --- /dev/null +++ b/device/testing/device-blackberry-key2-generic/modules-initfs @@ -0,0 +1,8 @@ +msm +panel_boe_bv045fhm_l00 +matrix_keymap +stmpe_keypad +edt_ft5x06 +pmi8998_fg +qcom_smbx +qcom_spmi_rradc