Hook 3,043 Posted February 13, 2023 Share Posted February 13, 2023 lineage-20.0-20230213-nightly-pro1-signed installed smoothly over OTA. Still January 5th security patch. I discovered after that I no longer had root, but since I don't actually use root very often, I don't know if it was this OTA that undid it. I reflashed Magisk V25 as a zip and all went well. V25 does make you jump through a few more hoops than older versions did when you use this depreciated method. It does make you download and update the app, during which it does the whatever with the boot stuff. But it's easy and painless. I only use it to give superuser permissions-- it used to do that without ever opening the app. By the way, I discovered that OTA install of Lineage will come to a dead stop if you let your screen time-out. TWRP used to keep going with screen time out. For some reason, not with the Lineage updater. Lol. Change timeout to 30 mins or something long during OTA install (sideloading is easier, honestly). 😄 3 Quote Link to post Share on other sites
EskeRahn 5,471 Posted February 14, 2023 Share Posted February 14, 2023 (lineage-20.0-20230213-nightly-pro1-signed.zip on January 5 security patch installed smoothly using adb sideload and MindTheGapps-13.0.0-arm64-20221025_100653) Quote Link to post Share on other sites
FlyingAntero 871 Posted February 18, 2023 Share Posted February 18, 2023 (edited) So, it is possible to make custom keymaps since LOS 18.1 without root? I am planning to make minor modification to stock QWERTZ german layout in order to use it as scandic. - Y <-> Z - Ü -> Å All I need to do is to place my custom keymap to /data/system/keyboard/keymap and then active custom keymap via settings? Is there stock keymap available somewhere in correct format so it would ne easy to make modifications? I am planning to go as close to printed labels as possible. Edited February 19, 2023 by FlyingAntero Typo Quote Link to post Share on other sites
Sean McCreary 328 Posted February 18, 2023 Share Posted February 18, 2023 9 hours ago, FlyingAntero said: So, it is possible to make custom keymaps since LOS 18.1 without root? Yes, this should work in LineageOS 20. Please let me know if it doesn't, and I will fix it 🙂 9 hours ago, FlyingAntero said: Is there stock keymap available somewhere in correct format so it would be easy to make modifications? Download this file: https://review.lineageos.org/c/LineageOS/android_device_fxtec_pro1/+/348111/3/devicesettings/QWERTZ_keymap There is also a full keymap for Pro1 QWERTY in the same CR. 2 Quote Link to post Share on other sites
FlyingAntero 871 Posted February 19, 2023 Share Posted February 19, 2023 On 2/18/2023 at 6:26 PM, Sean McCreary said: Yes, this should work in LineageOS 20. Please let me know if it doesn't, and I will fix it 🙂 Download this file: https://review.lineageos.org/c/LineageOS/android_device_fxtec_pro1/+/348111/3/devicesettings/QWERTZ_keymap There is also a full keymap for Pro1 QWERTY in the same CR. Nice start, I managed to swap Y and Z letters. However, I don't understand where the codes come from? I know the decimal hex thing but where I can find the correct code for Å letter? It is not listed in the source page. I found some info from here: - https://community.bistudio.com/wiki/DIK_KeyCodes According to the link above, decimal for Ü is 26. So the hex value is 001a. That matches for the key 28 from stock QWERTZ file. But how I know the correct hex value for Å? 28:001a:101b is Ü and ü Unicode hex value for Ü is U+00DC so it is not the same. I am little bit lost now. I can't find any source where Å is listed. I can only find other nordic letters like Ö and Ä. But I already have them on QWERTZ. Only Å is missing. PS. Once the mystery is solved, then this is very powerful tool! Quote Link to post Share on other sites
VaZso 1,998 Posted February 20, 2023 Share Posted February 20, 2023 41 minutes ago, FlyingAntero said: According to the link above, decimal for Ü is 26. So the hex value is 001a. That matches for the key 28 from stock QWERTZ file. But how I know the correct hex value for Å? Basically you should think about keyboard scan codes. So every keys on a real keyboard generate a code which represents the physical key pressed. Then you have keyboard layouts, which assigns physical keypresses (scan codes) as an actual letter. Looking from the other end: In the past, there was an US keyboard layout. Later, national keyboard layouts are also appeared which were practically the very same keyboard what US layout was, simply the prints of actual keys were different. So OS should know which layout was printed on keyboard, then it can generate the same keys what was written on top of it. That is the initial concept and Pro1's keyboard works using the same logic. In other words: You should select a keyboard layout in OS which has Å character associated to a key, then you should set desired key to generate corresponding scan code using the method described above. So if keyboard layout generates Å for code x, then you should set it there (key of Pro1/X, code for normal and code for capital variant). 1 1 Quote Link to post Share on other sites
Sean McCreary 328 Posted February 20, 2023 Share Posted February 20, 2023 (edited) 1 hour ago, FlyingAntero said: However, I don't understand where the codes come from? I know the decimal hex thing but where I can find the correct code for Å letter? It is not listed in the source page. There is another layer, the .kcm file. For Scandic models of the Pro1-X I made this key character map: https://review.lineageos.org/c/LineageOS/android_device_fxtec_pro1x/+/348323/5/AsantiKeypad/res/raw/keyboard_layout_fxtec_scandic.kcm The Unicode code point for Å is U+00C5, which is mapped from the key code for "LEFT_BRACKET" (decimal 26) here. I used Android's Swedish language overlay as the basis for the F(x)tec Scandic default .kcm file, and I suggest you choose the language overlay closest to your own and set up your kernel keymap to match. This unfortunately excessively complicated 🙁 But to summarize: The kernel generates a Linux event code Android maps the Linux event code to an Android key code in the key layout file The Android key code is mapped to a character in the key character map Note that key character maps can also remap Android key codes with "map" rules, just to make things even less clear. Edited February 20, 2023 by Sean McCreary Add link to example "map" rule 3 Quote Link to post Share on other sites
FlyingAntero 871 Posted February 20, 2023 Share Posted February 20, 2023 It is quite complicated system indeed. My initial idea was to use german layout and make only couple changes so that letters would mostly match prints. Instead, I need to select finnish and make several changes under the hood to achieve that (via custom keymap)? Mission can be completed but it is longer route. If I only select finnish, the layout is mostly good. I just keep forgetting where the special characters are since they do not match prints anymore. That is what I want to fix. Actually, I am pretty happy by swapping only Z <-> Y since Å is not that important for me. It is more important for swedish guys. But I guess that I will try to make custom keymap for finnish but it will take some time. Thanks for the help! Quote Link to post Share on other sites
Sean McCreary 328 Posted February 20, 2023 Share Posted February 20, 2023 10 minutes ago, FlyingAntero said: I just keep forgetting where the special characters are since they do not match prints anymore. This is where that second hexadecimal number in each keymap rule is useful. It allows you to specify an alternate Linux event code plus any combination of Shift, Alt, AltGr, Ctrl, or Fn. F(x)tec moved the yellow labels around in ways that can't be matched by only rearranging the keys, and tdm gave us another layer in the kernel to fix this 🙂 Say the yellow label was 'Å', but the .kcm file defined that as 'AltGr + some other key'. You would define the last number in the keymap rule to be that other key, but with the 'AltGr' flag set as well, e.g. key_code | KF_ALTGR == key_code | 0x1000 So if key_code was '0x1a', the value to put in the keymap rule would be '0x101a'. I think this is moderately brilliant, but it doesn't completely fix the problem. The modifier combinations required to make the labels match with the German language overlay are not the same as to make them match for Hungarian, for example. And of course it broke FinQwerty as the first implementation wouldn't allow the driver to send 'Fn' to Android. In the current implementation on the Pro1, this 'kernel keymap shift' is triggered by assigning '0x00' to any of the last six keys (64 through 69), with the default keymap assigning '0x00' to both diagonal yellow arrow keys (68 and 69). For convenience I'll attach the Pro1-X keyboard layout which has the key numbers for each key (in yellow). The key numbers are the same on the Pro1, even if the labels (in white) are not the same as your model. 4 Quote Link to post Share on other sites
EskeRahn 5,471 Posted February 20, 2023 Share Posted February 20, 2023 (lineage-20.0-20230220-nightly-pro1-signed.zip on February 5 security patch installed smoothly using adb sideload and MindTheGapps-13.0.0-arm64-20221025_100653) 1 Quote Link to post Share on other sites
Hook 3,043 Posted February 20, 2023 Share Posted February 20, 2023 8 hours ago, EskeRahn said: (lineage-20.0-20230220-nightly-pro1-signed.zip on February 5 security patch installed smoothly using adb sideload and MindTheGapps-13.0.0-arm64-20221025_100653) OTA for the same was also smooth. This time, I stayed rooted. My experience is that, most of the time, OTA updates don't disturb root, but once in a while I don't have root afterwards. Don't know why, but no big deal. Easily fixed when it does happen. 2 Quote Link to post Share on other sites
EskeRahn 5,471 Posted February 27, 2023 Share Posted February 27, 2023 (lineage-20.0-20230227-nightly-pro1-signed.zip on February 5 security patch installed smoothly using adb sideload and MindTheGapps-13.0.0-arm64-20221025_100653) Quote Link to post Share on other sites
SirBaconIII 66 Posted February 27, 2023 Share Posted February 27, 2023 7 hours ago, EskeRahn said: (lineage-20.0-20230227-nightly-pro1-signed.zip on February 5 security patch installed smoothly using adb sideload and MindTheGapps-13.0.0-arm64-20221025_100653) OTA also smooth (first time performing an OTA update following 18 latest > 19 latest > 20 dirty flash w/ MTG). Kept root as well. 2 Quote Link to post Share on other sites
Hook 3,043 Posted March 6, 2023 Share Posted March 6, 2023 Lineage 20-20230306-NIGHTLY-pro1 installed smoothly using OTA. Still February 5th security patch, of course, and root retained. 1 Quote Link to post Share on other sites
EskeRahn 5,471 Posted March 6, 2023 Share Posted March 6, 2023 They changed the download site (this is Pro1, not Pro1X). As usual practically everywhere on the web these days to poor 'design' with extreme waste of screenspace. (see image below) And the recovery boot image now always have the name boot.img, so you would need to manually rename or move in subfolders to to keep pairs of files for later usage. (previously the recovery image were named e.g. lineage-20.0-yyyymmdd-recovery-pro1.img for 20.0 ) But it works as usual: (lineage-20.0-20230306-nightly-pro1-signed.zip on February 5 security patch installed smoothly using adb sideload and MindTheGapps-13.0.0-arm64-20221025_100653) 2 Quote Link to post Share on other sites
Hook 3,043 Posted March 6, 2023 Share Posted March 6, 2023 Yeah, that's how the version for the Pro1x is, with the recovery split into three files that you fastboot flash separately. Since I have been doing OTA, I didn't see the change on the web page. New doesn't always mean improved. 🙄 1 Quote Link to post Share on other sites
EskeRahn 5,471 Posted March 6, 2023 Share Posted March 6, 2023 For those interested, the old:https://web.archive.org/web/20230227093209/https://download.lineageos.org/pro1 1 Quote Link to post Share on other sites
MrPib 31 Posted March 7, 2023 Share Posted March 7, 2023 Could I get the download URL? Can't make it out from the screenshot above. Also, are there OTA instructions anywhere? System / Updater doesn't show any updates. Thanks! Quote Link to post Share on other sites
Hook 3,043 Posted March 7, 2023 Share Posted March 7, 2023 1 hour ago, MrPib said: Could I get the download URL? Can't make it out from the screenshot above. Also, are there OTA instructions anywhere? System / Updater doesn't show any updates. Thanks! This thread is for the Pro 1, which is official, so you can find it at the Lineage site and get OTAs. The Pro1x version is at the following XDA link. It is not official, but a test release, but it is probably pretty stable. It may not, however, have the OTA function enabled. It will not appear at the Lineage site until it is made official. https://forum.xda-developers.com/t/lineageos-20-for-pro1-x.4543997/ Do not, of course, flash the Pro 1 version on the Pro 1 x. 😉 1 Quote Link to post Share on other sites
EskeRahn 5,471 Posted March 7, 2023 Share Posted March 7, 2023 1 hour ago, Hook said: Do not, of course, flash the Pro 1 version on the Pro 1 x. 😉 👍 (nor vice versa) 1 Quote Link to post Share on other sites
MrPib 31 Posted March 7, 2023 Share Posted March 7, 2023 Thanks very much Hook & EskeRahn. Forgot about the OG PRo1. 1 Quote Link to post Share on other sites
claude0001 1,352 Posted March 7, 2023 Share Posted March 7, 2023 17 hours ago, EskeRahn said: And the recovery boot image now always have the name boot.img, so you would need to manually rename or move in subfolders to to keep pairs of files for later usage. The sideloadable *.zip actually contains all images, including boot.img, dtbo.img, and vbmeta.img. That the latter are offered as separate downloads is just for greater convenience. For the purpose of "archiving" an old build, it is enough to just store away the *.zip. In case of need, the matching recovery image could be easily extracted from there ... Quote Link to post Share on other sites
EskeRahn 5,471 Posted March 8, 2023 Share Posted March 8, 2023 22 hours ago, claude0001 said: The sideloadable *.zip actually contains all images, including boot.img, dtbo.img, and vbmeta.img. It might be so on other builds, but not on the official builds for LineageOS 16, 17, 18, 19, 20, nor AICP as far as I can see. (It might be inside payload.bin though) Here latest Lineage 1 Quote Link to post Share on other sites
claude0001 1,352 Posted March 8, 2023 Share Posted March 8, 2023 (edited) 2 hours ago, EskeRahn said: It might be so on other builds, but not on the official builds for LineageOS 16, 17, 18, 19, 20, nor AICP as far as I can see. As the Pro1 and Pro1-X are A/B devices, the images are inside "payload.bin". The official LineageOS tool to extract them is extract.py, but there are others ... Edited March 8, 2023 by claude0001 1 1 Quote Link to post Share on other sites
EskeRahn 5,471 Posted March 8, 2023 Share Posted March 8, 2023 3 hours ago, claude0001 said: As the Pro1 and Pro1-X are A/B devices, the images are inside "payload.bin". The official LineageOS tool to extract them is extract.py, but there are others ... Thanks. So not that easy to extract after all - though possible if needed. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.