Jump to content

LineageOS 20.0 Official Release for Pro1


Recommended Posts

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). 😄

  • Like 3
Link to post
Share on other sites
  • Replies 189
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

@EskeRahn okay, good news - easy fix - slipup on my part when rebasing on the newest common kernel - https://review.lineageos.org/c/LineageOS/android_kernel_fxtec_msm8998/+/355481 - pulled the broken

You ever been in an updating mood and think about to hit the "update all" button in the Google Play Store while the OTA update is running? Yeah, don't do that. Sometimes the Play Store updat

(lineage-20.0-20230612-nightly-pro1-signed.zip on May 5 security patch installed smoothly using adb sideload and MindTheGapps-13.0.0-arm64-202230408_100653)

Posted Images

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 by FlyingAntero
Typo
Link to post
Share on other sites
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.

  • Thanks 2
Link to post
Share on other sites
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!

Link to post
Share on other sites
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).

  • Like 1
  • Thanks 1
Link to post
Share on other sites
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:

Note that key character maps can also remap Android key codes with "map" rules, just to make things even less clear.

Edited by Sean McCreary
Add link to example "map" rule
  • Thanks 3
Link to post
Share on other sites

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!

Link to post
Share on other sites
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.keyboard-layout-pro1x-qwerty.png.bb3bbb171ebd0544cf97932670da6b1e.png

  • Thanks 4
Link to post
Share on other sites
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.

  • Like 2
Link to post
Share on other sites
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.

  • Thanks 2
Link to post
Share on other sites

Lineage 20-20230306-NIGHTLY-pro1 installed smoothly using OTA.  Still February 5th security patch, of course, and root retained.

  • Thanks 1
Link to post
Share on other sites

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)


image.thumb.png.74506ce79c3ce3e2cf27026ab85ba570.png

  • Like 2
Link to post
Share on other sites

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. 🙄

  • Like 1
Link to post
Share on other sites
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.  😉

 

  • Thanks 1
Link to post
Share on other sites
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 ...  

Link to post
Share on other sites
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

image.png.60cfcbeb44d675d2df1310c32cc4987b.png

image.png.1bc1fdb2bae6322d0a1e3942905ba354.png

image.png.cea4bcf631e42a56ad093b4ded19fd32.png

image.png.83a2f46cf1a3d1aeeaf09a40161fbf38.png

 

  • Like 1
Link to post
Share on other sites
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 by claude0001
  • Like 1
  • Thanks 1
Link to post
Share on other sites
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.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Terms