keymanapp / keyboards

Open Source Keyman keyboards
138 stars 256 forks source link

chore: improve targets for various keyboards with v17 #2793

Open mcdurdin opened 4 weeks ago

mcdurdin commented 4 weeks ago

Some keyboards are listed with different platform support. Keyman Developer 16 did not always report this consistently, as it 'guessed' on mobile keyboards when a .js was being produced. Also, a few keyboards had inconsistent information in their .keyboard_info, e.g. kbdsn1. v17 is more consistent on matching the &TARGETS store. These 122 keyboards are impacted:

Keyboard Platform Add/Remove Level
aramaic_hebrew android remove full
aramaic_hebrew ios remove full
aramaic_hebrew mobileWeb remove full
athinkra_vai mobileWeb remove full
athinkra_vai_typewriter mobileWeb remove full
basic_kbdcherp android remove full
basic_kbdcherp ios remove full
basic_kbdcherp mobileWeb remove full
basic_kbdinuk2 mobileWeb remove full
basic_kbdiulat mobileWeb remove full
basic_kbdkhmr mobileWeb remove full
basic_kbdlt2 mobileWeb remove full
basic_kbdsors1 mobileWeb remove full
basic_kbdsw09 mobileWeb remove full
bj_cree_east_james_bay mobileWeb remove full
bj_cree_woods mobileWeb remove full
bj_mista_wasaha_cree mobileWeb remove full
bj_naskapi_classic mobileWeb remove full
coptic_greek android remove full
coptic_greek ios remove full
coptic_greek mobileWeb remove full
dene mobileWeb remove full
el_dari_clra mobileWeb remove full
el_harari_latin mobileWeb remove full
el_osmanya mobileWeb remove full
el_pan_sahelian mobileWeb remove full
engram mobileWeb remove full
esperuni mobileWeb remove full
fv_all desktopWeb add full
galaxie_greek_hebrew_mnemonic linux add full
galaxie_greek_hebrew_mnemonic macos add full
galaxie_greek_hebrew_positional desktopWeb add full
galaxie_greek_hebrew_positional mobileWeb add full
galaxie_hebrew_positional mobileWeb remove full
gandhari mobileWeb remove full
gff_amh_powerpack_7 linux add full
gff_geez mobileWeb remove full
gff_gurage_and_amharic android add full
gff_gurage_and_amharic desktopWeb add full
gff_gurage_and_amharic ios add full
gff_gurage_and_amharic mobileWeb add full
gff_harege_fidelat android remove basic
gff_harege_fidelat ios remove basic
gff_harege_fidelat mobileWeb remove basic
gff_harege_fidelat desktopWeb add full
gff_mesobe_fidelat android remove basic
gff_mesobe_fidelat ios remove basic
gff_mesobe_fidelat mobileWeb remove basic
gff_mesobe_fidelat desktopWeb add full
gondi_gunjala_inscript mobileWeb remove full
greekclassical mobileWeb remove full
hcesar mobileWeb remove full
idc_deseret mobileWeb remove full
ife_mn mobileWeb remove full
itrans_bengali android remove full
itrans_bengali ios remove full
itrans_bengali mobileWeb remove full
itrans_devanagari_hindi android remove full
itrans_devanagari_hindi ios remove full
itrans_devanagari_hindi mobileWeb remove full
itrans_devanagari_sanskrit_vedic android remove full
itrans_devanagari_sanskrit_vedic ios remove full
itrans_devanagari_sanskrit_vedic mobileWeb remove full
itrans_gujarati android remove full
itrans_gujarati ios remove full
itrans_gujarati mobileWeb remove full
itrans_gurmukhi android remove full
itrans_gurmukhi ios remove full
itrans_gurmukhi mobileWeb remove full
itrans_odia android remove full
itrans_odia ios remove full
itrans_odia mobileWeb remove full
kbdsn1 desktopWeb add full
kbdsn1 linux add full
kirat_rai_inscript mobileWeb remove full
lao_2008_basic android remove full
lao_2008_basic ios remove full
lao_2008_basic mobileWeb remove full
maltese mobileWeb remove full
manichaean mobileWeb remove full
meitei_legacy mobileWeb remove full
mozhi_malayalam android remove full
mozhi_malayalam ios remove full
mozhi_malayalam mobileWeb remove full
mro_phonetic mobileWeb remove full
multi_pak_phonetic android remove full
multi_pak_phonetic ios remove full
multi_pak_phonetic mobileWeb remove full
myancode_san android remove full
myancode_san ios remove full
myancode_san mobileWeb remove full
nlci_bengali_winscript android remove full
nlci_bengali_winscript ios remove full
nlci_bengali_winscript mobileWeb remove full
nlci_gujarati_winscript android remove full
nlci_gujarati_winscript ios remove full
nlci_gujarati_winscript mobileWeb remove full
nlci_gurmukhi_winscript android remove full
nlci_gurmukhi_winscript ios remove full
nlci_gurmukhi_winscript mobileWeb remove full
nlci_ipa mobileWeb remove full
nlci_kannada_winscript android remove full
nlci_kannada_winscript ios remove full
nlci_kannada_winscript mobileWeb remove full
nlci_malayalam_winscript android remove full
nlci_malayalam_winscript ios remove full
nlci_malayalam_winscript mobileWeb remove full
nlci_oriya_winscript android remove full
nlci_oriya_winscript ios remove full
nlci_oriya_winscript mobileWeb remove full
nlci_tamil_winscript android remove full
nlci_tamil_winscript ios remove full
nlci_tamil_winscript mobileWeb remove full
nlci_telugu_winscript android remove full
nlci_telugu_winscript ios remove full
nlci_telugu_winscript mobileWeb remove full
nobonob mobileWeb remove full
sabdalipi_assamese android remove full
sabdalipi_assamese ios remove full
sabdalipi_assamese mobileWeb remove full
santali_latin mobileWeb remove full
saraiki mobileWeb remove full
sil_busa android remove full
sil_busa ios remove full
sil_busa mobileWeb remove full
sil_cham_phonetic android remove full
sil_cham_phonetic ios remove full
sil_cham_phonetic mobileWeb remove full
sil_cipher_music mobileWeb remove full
sil_dzongkha mobileWeb remove full
sil_el_ethiopian_latin android remove full
sil_el_ethiopian_latin ios remove full
sil_el_ethiopian_latin mobileWeb remove full
sil_ethiopic android remove full
sil_ethiopic ios remove full
sil_ethiopic mobileWeb remove full
sil_ethiopic_power_g android remove full
sil_ethiopic_power_g ios remove full
sil_ethiopic_power_g mobileWeb remove full
sil_greek_polytonic android remove full
sil_greek_polytonic ios remove full
sil_greek_polytonic mobileWeb remove full
sil_hawaiian mobileWeb remove full
sil_hebr_grek_trans android remove full
sil_hebr_grek_trans ios remove full
sil_hebr_grek_trans mobileWeb remove full
sil_hmd_plrd android remove full
sil_hmd_plrd ios remove full
sil_hmd_plrd mobileWeb remove full
sil_indic_roman mobileWeb remove full
sil_kayah_kali android remove full
sil_kayah_kali ios remove full
sil_kayah_kali mobileWeb remove full
sil_kayah_latn mobileWeb remove full
sil_kayah_mymr mobileWeb remove full
sil_khmer android remove full
sil_khmer ios remove full
sil_khmer mobileWeb remove full
sil_khowar mobileWeb remove full
sil_lepcha mobileWeb remove full
sil_limbu_phonetic mobileWeb remove full
sil_limbu_typewriter mobileWeb remove full
sil_lisu_basic android remove full
sil_lisu_basic ios remove full
sil_lisu_basic mobileWeb remove full
sil_lisu_standard android remove full
sil_lisu_standard ios remove full
sil_lisu_standard mobileWeb remove full
sil_lpo_plrd mobileWeb remove full
sil_mali_azerty android remove full
sil_mali_azerty ios remove full
sil_mali_azerty mobileWeb remove full
sil_mali_qwertz android remove full
sil_mali_qwertz ios remove full
sil_mali_qwertz mobileWeb remove full
sil_moore mobileWeb remove full
sil_myanmar_mywinext mobileWeb remove full
sil_nigeria_dot android remove full
sil_nigeria_dot ios remove full
sil_nigeria_dot mobileWeb remove full
sil_nigeria_odd_vowels android remove full
sil_nigeria_odd_vowels ios remove full
sil_nigeria_odd_vowels mobileWeb remove full
sil_nigeria_underline android remove full
sil_nigeria_underline ios remove full
sil_nigeria_underline mobileWeb remove full
sil_pan_africa_mnemonic android remove full
sil_pan_africa_mnemonic ios remove full
sil_pan_africa_mnemonic mobileWeb remove full
sil_pan_africa_positional android remove full
sil_pan_africa_positional ios remove full
sil_pan_africa_positional mobileWeb remove full
sil_philippines android remove full
sil_philippines ios remove full
sil_philippines mobileWeb remove full
sil_tai_dam mobileWeb remove full
sil_tai_dam_lao mobileWeb remove full
sil_tai_dam_latin mobileWeb remove full
sil_tai_dam_typewriter android remove full
sil_tai_dam_typewriter ios remove full
sil_tai_dam_typewriter mobileWeb remove full
sil_tepehuan mobileWeb remove full
sil_tunisian android remove full
sil_tunisian ios remove full
sil_tunisian mobileWeb remove full
sil_ygp_plrd mobileWeb remove full
sil_yna_plrd mobileWeb remove full
sil_yupik_cyrillic mobileWeb remove full
sil_ywq_plrd mobileWeb remove full
sundanese_latin mobileWeb remove full
syriac_arabic android remove full
syriac_arabic ios remove full
syriac_arabic mobileWeb remove full
syriac_aramaic android remove full
syriac_aramaic ios remove full
syriac_aramaic desktopWeb add full
syriac_phonetic android remove full
syriac_phonetic ios remove full
syriac_phonetic mobileWeb remove full
tangsa_lakhum mobileWeb remove full
tem_kdh android remove basic
tem_kdh desktopWeb remove basic
tem_kdh ios remove basic
tem_kdh linux add full
tem_kdh mobileWeb add full
thamizha_anjal_paangu mobileWeb remove full
thamizha_bamini mobileWeb remove full
thamizha_new_typewriter mobileWeb remove full
thamizha_tamil99_ext mobileWeb remove full
vm_tamil desktopWeb add full
vm_tamil_modular mobileWeb remove full
vm_tamil_typewriter mobileWeb remove full

We may want to update the &TARGETS store in some of these keyboards to make them available on these removed platforms, as a separate project.

I wonder also about the bundle packages (e.g. galaxie_greek_hebrew_mnemonic) if there may be a separate issue to tackle here? It seems like we are adding support for web platforms but the bundled name will not be available in web.

Originally posted by @mcdurdin in https://github.com/keymanapp/keyboards/issues/2423#issuecomment-2143620424

mcdurdin commented 4 weeks ago

I wonder also about the bundle packages (e.g. galaxie_greek_hebrew_mnemonic) if there may be a separate issue to tackle here? It seems like we are adding support for web platforms but the bundled name will not be available in web.

This probably needs to be tackled on the compiler side. A little more nuance may be needed to exclude web platforms from multi-keyboard packages. See keymanapp/keyman#11645.

LornaSIL commented 1 week ago

Can you explain more what you would like? If we look at aramaic_hebrew, the .kmn has

store(&TARGETS) 'web desktop'

and there is no mobile-specific layout.

The .kps does include the .js file which is presumably why it claims to support android, ios, mobileWeb.

So, in your table above it says "remove", but it says level is "full". I'm not sure what that means. Should I remove the .js from the .kps or should I add a mobile layout?