Last active
July 17, 2023 16:10
-
-
Save pgaskin/613b34c23f026f7c39c50ee32f5e167e to your computer and use it in GitHub Desktop.
Kobo device information based on 4.18.13737
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 1. create top-level classes from Device::codeName(QString) | |
# 2. split into legacy and current based on if class in Device::getDeviceClassString() is based on Device::codeName | |
# 3. add legacy families under top-level classes, codename=classname and Name is from Device::getDeviceClassString() | |
# 4. add legacy device ids under families from Device::codeName(QString) | |
# 5. skip current families for now, add device ids from Device::codeName(QString) | |
# 6. add device names from known values to those devices | |
# 7. split current devices into families based on Device::codeName(bool), remaining ones have a matching classname | |
# 8. add family names from Device::getDeviceClassString() | |
# | |
# 9. add full values for most specific (codename, then classname) thingies from Image::sizeForType(Device) | |
# 10. if any devices without full values, add them based on the default match (600x800), except for the snow (1080x1440), frost (1440x1920), and dahlia (1080x1429), which for some reason are not in the firmware and need to be overridden for optimal results. | |
# 11. add default liblist (600x800) and libgrid (60x90) values | |
# | |
# 12. add hardware revisions to devices based on UpgradeCheck API (it's the simplest way to get at them) | |
# | |
# 13. add storage capacity in GB to devices from StorageUtil::getDeviceAdvertisedStorageCapacityStringInGB | |
# | |
# 14. add secondary codenames to devices based on function list of Device::is* | |
Defaults: | |
Full: &default-full 600x800 | |
LibFull: &default-libfull 355x530 | |
LibList: &default-liblist 60x90 | |
LibGrid: &default-libgrid 149x223 | |
LegacyFamilies: | |
- ClassName: desktop | |
Families: | |
- CodeName: desktop | |
Name: Kobo Desktop | |
Full: *default-full | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 1 | |
- ID: 2 | |
- ID: 3 | |
- ID: 4 | |
- ID: 5 | |
- ID: 10 | |
- ID: 11 | |
- ID: 12 | |
- ClassName: nickel1 | |
Families: | |
- CodeName: nickel1 | |
Name: Kobo eReader | |
Full: *default-full | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 100 | |
- ID: 200 | |
- ID: 201 | |
- ClassName: nickel2 | |
Families: | |
- CodeName: nickel2 | |
Name: Kobo Wireless eReader | |
Full: *default-full | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 210 | |
- ClassName: merch | |
Families: | |
- CodeName: merch | |
Name: Literati / LookBook eReader | |
Full: *default-full | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 300 | |
- ID: 301 | |
- ClassName: vox | |
Families: | |
- CodeName: vox | |
Name: Kobo Vox | |
Full: *default-full | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 511 | |
CurrentFamilies: | |
- ClassName: trilogy | |
Families: | |
- CodeName: trilogy | |
Name: Kobo Touch | |
Full: *default-full | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 310 | |
Name: Kobo Touch A/B | |
Hardware: 3 | |
Storage: 2 | |
- ID: 320 | |
Name: Kobo Touch C | |
Hardware: 4 | |
Storage: 2 | |
- CodeName: pixie | |
Name: Kobo Mini | |
Full: *default-full | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 340 | |
Name: Kobo Mini | |
Hardware: 4 | |
Storage: 2 | |
- CodeName: pika | |
Name: Kobo Touch 2.0 | |
Full: *default-full | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 372 | |
Name: Kobo Touch 2.0 | |
Hardware: 6 | |
Storage: 4 | |
- ClassName: dragon | |
Families: | |
- CodeName: dragon | |
Name: Kobo Aura HD | |
Full: 1080x1440 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 350 | |
Name: Kobo Aura HD | |
Hardware: 4 | |
Storage: 4 | |
- CodeName: dahlia | |
Name: Kobo Aura H2O | |
Full: 1080x1429 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 370 | |
Name: Kobo Aura H2O | |
Hardware: 5 | |
Storage: 4 | |
- CodeName: alyssum | |
Name: Kobo Glo HD | |
Full: 1072x1448 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 371 | |
Name: Kobo Glo HD | |
Hardware: 6 | |
Storage: 4 | |
- CodeName: snow | |
Name: Kobo Aura H2O Edition 2 | |
Full: 1080x1440 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 374 | |
Name: Kobo Aura H2O Edition 2 v1 | |
Hardware: 6 | |
Storage: 8 | |
- ID: 378 | |
Name: Kobo Aura H2O Edition 2 v2 | |
Hardware: 7 | |
Storage: 8 | |
- CodeName: nova | |
Name: Kobo Clara HD | |
Full: 1072x1448 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 376 | |
Name: Kobo Clara HD | |
Hardware: 7 | |
Storage: 8 | |
- CodeName: storm | |
Name: Kobo Libra H2O | |
Full: 1264x1680 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 384 | |
Name: Kobo Libra H2O | |
Hardware: 7 | |
Storage: 8 | |
- ClassName: daylight | |
Families: | |
- CodeName: daylight | |
Name: Kobo Aura ONE | |
Full: 1404x1872 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 373 | |
Name: Kobo Aura ONE | |
Hardware: 6 | |
Storage: 8 | |
- ID: 381 | |
Name: Kobo Aura ONE Limited Edition | |
SecondaryCodeName: superDaylight | |
Hardware: 6 | |
Storage: 32 | |
- CodeName: frost | |
Name: Kobo Forma | |
Full: 1440x1920 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 380 | |
Name: Kobo Forma 32GB | |
SecondaryCodeName: frost32 | |
Hardware: 7 | |
Storage: 32 | |
- ID: 377 | |
Name: Kobo Forma | |
Hardware: 7 | |
Storage: 8 | |
- ClassName: phoenix | |
Families: | |
- CodeName: phoenix | |
Name: Kobo Aura | |
Full: 758x1014 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 360 | |
Name: Kobo Aura | |
Hardware: 5 | |
Storage: 4 | |
- CodeName: kraken | |
Name: Kobo Glo | |
Full: 758x1024 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 330 | |
Name: Kobo Glo | |
Hardware: 4 | |
Storage: 4 | |
- CodeName: star | |
Name: Kobo Aura | |
Full: 758x1024 | |
LibFull: *default-libfull | |
LibList: *default-liblist | |
LibGrid: *default-libgrid | |
Devices: | |
- ID: 375 | |
Name: Kobo Aura Edition 2 v1 | |
Hardware: 6 | |
Storage: 4 | |
- ID: 379 | |
Name: Kobo Aura Edition 2 v2 | |
Hardware: 7 | |
Storage: 4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
My initial research: | |
Here are the values in code order for various device-specific stuff in nickel as of 13737. These are exactly as they appear in libnickel, without adding missing values to make it usable. | |
There seem to be two codename types: one for identifying individual devices, and an abbreviated one for things like CSS. | |
Device::getDeviceClassString(), mapping from Device::is* to a string, falls back to Device::codeName when not matching anything | |
trilogy, Kobo Touch | |
kraken, Kobo Glo | |
pixie, Kobo Mini | |
phoenix, Kobo Aura | |
dragon, Kobo Aura HD | |
dahlia, Kobo Aura H2O | |
alyssum, Kobo Glo HD | |
pika, Kobo Touch 2.0 | |
daylight, Kobo Aura ONE | |
star, Kobo Aura | |
storm, Kobo Libra H2O | |
snow, Kobo Aura H2O Edition 2 | |
nova, Kobo Clara HD | |
frost, Kobo Forma | |
Device::codeName == desktop, Kobo Desktop | |
Device::codeName == vox, Kobo Vox | |
Device::codeName == merch, Literati / LookBook eReader | |
Device::codeName == nickel1, Kobo eReader | |
Device::codeName == nickel2, Kobo Wireless eReader | |
Device::codeName(QString), mapping from device id to string | |
1 2 3 4 5 10 11 12, desktop | |
210, nickel2 | |
100 200 201, nickel1 | |
300 301, merch | |
310 320 340 372, trilogy | |
350 370 371 374 376 384 378, dragon | |
373 380 381 377, daylight | |
330 360 375 379, phoenix | |
511, vox | |
*, unknown | |
Device::codeName(bool), idk what the bool is for, mapping from device id to string, seems to be missing values, Device::is* matches up with this when assuming the missing values to be the remainders of Device::codeName(QString) (for example 377 and 380 are frost, but the 373 and 381 are daylight) | |
330, kraken | |
340, pixie | |
370, dahlia | |
371, alyssum | |
372, pika | |
374 378, snow | |
375 379, star | |
376, nova | |
377 380, frost | |
384, storm | |
Image::sizeForType(Device), mapping from Device::is* to cover size for N3_FULL, fixed for others | |
N3_LIBRARY_FULL, 355x530 | |
N3_LIBRARY_LIST, 60x90 | |
N3_LIBRARY_GRID, 149x223 | |
MediumGridList, 135x205 | |
iPhoneThumbnail, 104x158 | |
NickelBookCover, 600x600 | |
Default, 600x800 | |
N3_FULL | |
storm, 1264x1680 | |
daylight, 1404x1872 | |
alyssum nova, 1072x1448 | |
dragon, 1080x1440 | |
kraken star, 758x1024 | |
phoenix, 758x1014 | |
*, 600x800 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment