Skip to content

20lives/gallium_hebrew

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GalliumHebrew

GalliumHebrew is an optimized Hebrew keyboard layout generated with oxeylyzer using weights reverse-engineered from Gallium. It shares Gallium's punctuation positions (, ' .) so bilingual typists can switch between English Gallium and Hebrew without losing muscle memory for common punctuation.

GalliumHebrew Layout

Why?

Hebrew has two standard keyboard layouts and both are terrible by modern standards.

Kraton / Χ§Χ¨ΧΧ˜Χ•ΧŸ (SI-1452) dates back to typewriters. It has no dedicated comma key β€” pressing the physical , key produces Χͺ (Tav). Its same-finger bigram rate is over 14%, nearly 5Γ— worse than optimized English layouts like Gallium.

ARKN / ארקן (SI-1452-2) is a 2018 Israeli standard designed by Dr. Yuval Rabinovich. It moved some final-form letters and aligned punctuation to QWERTY positions, but kept most of the same key placement problems. SFB rate remained above 14%. It was never widely adopted.

GalliumHebrew was generated from scratch using a Hebrew Wikipedia corpus of 10.8 million sentences, with optimization weights tuned to reproduce Gallium's design philosophy: balance rolls and alternation, minimize same-finger bigrams, and keep redirects low.

Shared Punctuation with Gallium

One of the biggest pain points for bilingual Hebrew/English typists is punctuation inconsistency. The three most common punctuation characters β€” comma, apostrophe, and period β€” live in different physical positions between Hebrew and English layouts.

GalliumHebrew solves this by pinning , ' . to the same physical positions as Gallium. Switching between English (Gallium) and Hebrew (GalliumHebrew) requires zero adjustment for punctuation β€” your fingers already know where , ' . are.

Note: Because punctuation is pinned to Gallium's positions, GalliumHebrew is best paired with Gallium or a Gallium variant on the English side. If you use a different English layout, the punctuation positions won't align β€” and you may be better served by generating a Hebrew layout with pins matching your English layout of choice.

Performance

Analyzed with oxeylyzer against a Hebrew Wikipedia corpus:

Metric Kraton / Χ§Χ¨ΧΧ˜Χ•ΧŸ (SI-1452) ARKN / ארקן (SI-1452-2) GalliumHebrew
Score -1.716 -1.693 -0.055
SFB 14.08% 14.48% 3.02%
SFS 8.64% 8.51% 5.49%
Total Rolls 30.68% 29.73% 42.07%
Inrolls 16.43% 16.05% 22.97%
Outrolls 14.25% 13.68% 19.10%
Total Alternation 26.82% 27.62% 33.78%
Total Redirects 7.27% 7.33% 8.21%
Pinky Ring 0.76% 0.46% 1.94%

Key improvements over both standards:

  • SFB reduced by ~79% β€” from 14%+ down to 3%, eliminating the most common source of typing discomfort
  • Rolls increased by 37% β€” more comfortable flowing motions between keys
  • Alternation increased by 22% β€” better rhythm, less hand fatigue

The slightly higher redirect rate (8.2% vs 7.3%) and pinky-ring usage (1.9% vs 0.8%) are acceptable tradeoffs β€” Gallium itself has 1.59% pinky-ring on English, so this is in the same range.

Installation

Kanata (Recommended β€” Cross-Platform)

Kanata is a cross-platform keyboard remapper that works on Linux, macOS, and Windows.

  1. Install Kanata
  2. Copy Kanata/GalliumHebrew.cfg to your Kanata config directory
  3. Set your OS input method to Hebrew (SI-1452) (the classic standard)
  4. Run: kanata -c path/to/GalliumHebrew.cfg
  5. Toggle between English QWERTY and GalliumHebrew with: hold ` (grave/tilde) then press 1 for QWERTY or 2 for GalliumHebrew

How the Kanata Config Works

The config remaps physical key positions to the SI-1452 key that produces the desired Hebrew character. For example, to get Χ£ (Pe Sofit) at the Q position, it sends ; because pressing ; in SI-1452 produces Χ£.

Known limitation β€” Comma: In SI-1452 Hebrew mode, the physical , key produces Χͺ (Tav), not a comma. Since GalliumHebrew maps Χͺ to position F, the comma at position P works by sending the physical , key β€” which will produce Χͺ in Hebrew mode. Workarounds:

  1. Use ARKN (SI-1452-2) input method where , is properly mapped
  2. Toggle to the QWERTY layer (hold ` β†’ 1) for punctuation-heavy input
  3. Add a dedicated comma key to your Kanata config via a tap-hold or combo

Generation

GalliumHebrew was generated with oxeylyzer using:

  • Corpus: Hebrew Wikipedia sentences (10.8M sentences, ~450M characters)
  • Pinned keys: , ' . at Gallium-matching positions
  • Weights: Tuned to reflect Gallium's design philosophy β€” balancing rolls and alternation, minimizing same-finger bigrams, and penalizing redirects

Credits

  • Gallium by GalileoBlues β€” the English layout whose design philosophy inspired this
  • oxeylyzer by O-X-E-Y β€” the keyboard layout analyzer and generator used to create GalliumHebrew
  • Hebrew Wikipedia Sentences Corpus by tomron87
  • Hebrew standard layouts: SI-1452 (classic) and SI-1452-2 (ARKN) by the Standards Institution of Israel

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages