GithubHelp home page GithubHelp logo

LocalIDs about klfc HOT 6 OPEN

39aldo39 avatar 39aldo39 commented on June 16, 2024
LocalIDs

from klfc.

Comments (6)

39aldo39 avatar 39aldo39 commented on June 16, 2024

I also don't really know a lot about the locale IDs. The only reason they are included is because KLC uses them. I didn't even know that apparently KLC uses only part of the ID.

from klfc.

iandoug avatar iandoug commented on June 16, 2024

I'm asking because at the moment (as per other thread) I'm only doing the Conventional ANSI, and English only on top of that.

But there are people trying to make Spanish/English, Dutch/English, even Russian/English layouts and then locale IDs become a bit confused ...

I've even got a layout aimed at Southern Africa that tries to cater for over a dozen languages.

from klfc.

DreymaR avatar DreymaR commented on June 16, 2024

The 4-digit part before the colon is the language LangID, which is not necessarily the same as the keyboard ID after the colon. There may be many LocIDs for each language ID. It's the LocID that uniquely identifies a keyboard layout, the LangIDs are for sorting these into which languages they belong to. So KLC shouldn't use the LangID as that's a job for the OS, but define the layout's LocID only.

EPKL has a table of layout LocIDs, and AHK has some functionality to tap into the MS DLL functions for the IDs. In case that's helpful.

https://github.com/DreymaR/BigBagKbdTrixPKL/blob/f443218dc569041df8e83e05d76973e58571fa51/Files/EPKL_Tables.ini#L77

from klfc.

iandoug avatar iandoug commented on June 16, 2024

@DreymaR

That's what worries me ... the scheme does not cater for keyboards meant for more than one language.

Thanks for the table :-)

Cheers, Ian

from klfc.

DreymaR avatar DreymaR commented on June 16, 2024

I think you're wrong? The "scheme" consists of a LangID for each language and a unique LocID for each keyboard layout. To use a layout with more than one language. use couplets of LangID1:LocID1 LangID2:LocID1 etc where both are applied. Is anything stopping you from doing that somehow?

Mostly when designing keyboard layouts however, you don't need to worry about LangIDs but focus on the keyboard layout's unique LocID alone.

I can see how it gets somewhat restricting that each layout has to belong to a language in a LangID:LocID pair. But that's typical of OS implementation for you, and as I said it's solved by duplicating your layout to all languages it belongs to. For most languages there are some tweaks you should do to accommodate better locale typing anyway.

from klfc.

iandoug avatar iandoug commented on June 16, 2024

Ah. Did not know you could specify more than one set. Linux does not concern itself to that level with such things, just as far as "region (eg "_us") AFAIK.

I'm generating input files for KLFC and was worried about wrong values in the LocaleID borking someone's install.

I have generated the files for all the "conventional" layouts I have, now need to Take Courage and try a test install and uninstall, and then find people able to test the Win and Mac versions.

I notice the xkb file does not include the usual
include "level3(ralt_switch)"

... do I need to add that in to the files I feed KLFC ?

Thanks, Ian

from klfc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.