# japanesekeyboard | Kazu | Knowledge Base | Instagit

スミレ - 完全オフラインの日本語キーボードアプリ

GitHub Stars: 209

Repository: https://github.com/kazumaproject/japanesekeyboard

---

## Articles

### [How to Debug and Test Custom Keyboard Layouts with the FlickKeyboardView API](/kazumaproject/japanesekeyboard/how-to-debug-and-test-custom-keyboard-layouts-with-flickkeyboardview-api)

Debug and test custom keyboard layouts using FlickKeyboardView API. Build layouts, attach them, use Logcat, and perform JVM and Espresso tests for robust validation.

- Tags: testing
- Published: 2026-03-05

### [Candidate Window Popup Positioning in JapaneseKeyboard: Anchor-Based Geometry and Offset Calculations](/kazumaproject/japanesekeyboard/how-does-candidate-window-popup-positioning-work)

Explore candidate window popup positioning in JapaneseKeyboard. Learn how anchor-based geometry and offset calculations dynamically position the popup relative to pressed keys for an optimal user experience on Android.

- Tags: internals
- Published: 2026-03-05

### [KeyType Enum Values and Behavior in the JapaneseKeyboard Rendering System](/kazumaproject/japanesekeyboard/what-are-the-keytype-enum-values-and-their-behavior-in-keyboard-rendering)

Explore KeyType enum values in the JapaneseKeyboard rendering system. Understand nine modes like NORMAL and HIERARCHICAL_FLICK for key behavior and flick gestures in FlickKeyboardView.

- Tags: api-reference
- Published: 2026-03-05

### [How to Add QWERTY Layout Support Alongside the Traditional Japanese Flick Layout](/kazumaproject/japanesekeyboard/how-to-add-qwerty-layout-support-to-japanese-keyboard)

Easily add QWERTY layout support to the Japanese Keyboard project. Learn how to enable the toggle, instantiate the view, and wire the layout switch for seamless flick and QWERTY mode switching.

- Tags: how-to-guide
- Published: 2026-03-05

### [Difference Between StandardFlickInputController and CustomAngleFlickController in Japanese Keyboard](/kazumaproject/japanesekeyboard/difference-between-standardflickinputcontroller-and-customangleflickcontroller)

Discover the difference between StandardFlickInputController and CustomAngleFlickController. Learn how CustomAngleFlickController offers flexible angle ranges and input modes for advanced Japanese keyboard input.

- Tags: deep-dive
- Published: 2026-03-05

### [How to Implement Long-Press and Multi-Touch Handling for Special Keyboard Actions in Android](/kazumaproject/japanesekeyboard/how-to-implement-long-press-and-multi-touch-handling-for-special-keyboard-actions)

Implement long-press and multi-touch for Android keyboard actions. Learn to detect gestures, track pointers, and enable complex inputs like flicking and cursor movement.

- Tags: how-to-guide
- Published: 2026-03-05

### [How AES-256 Encryption Protects Learning Data and User Dictionary in JapaneseKeyboard](/kazumaproject/japanesekeyboard/how-does-aes-256-encryption-protect-the-learning-data-and-user-dictionary)

Learn how AES-256 encryption secures your JapaneseKeyboard learning data and user dictionary. Discover robust protection against unauthorized access and attackers.

- Tags: security
- Published: 2026-03-05

### [How the JapaneseKeyboard Project Implements Keyboard View Architecture Using GridLayout and Custom View Controllers](/kazumaproject/japanesekeyboard/what-is-the-keyboard-view-architecture-using-gridlayout-and-custom-view-controllers)

Explore the Japanese Keyboard project's view architecture. Learn how GridLayout and custom view controllers manage layouts, gestures, and themes for flick, ten-key, and tablet variants.

- Tags: architecture
- Published: 2026-03-05

### [How to Implement Material You Dynamic Colors in a Custom Android Keyboard](/kazumaproject/japanesekeyboard/how-to-implement-material-you-dynamic-colors-in-a-custom-android-keyboard)

Learn how to implement Material You dynamic colors in your custom Android keyboard. Easily adapt key backgrounds to user wallpaper using theme-attribute drawables.

- Tags: tutorial
- Published: 2026-03-05

### [Sumire Japanese Input Mode Switching: Hiragana, Katakana, and Romaji Handling](/kazumaproject/japanesekeyboard/how-does-sumire-handle-japanese-input-mode-switching)

Discover how Sumire handles Japanese input mode switching between Hiragana, Katakana, and Romaji. Learn about its state-driven architecture and key event handling for seamless typing.

- Tags: deep-dive
- Published: 2026-03-05

### [Liquid Glass Effect Implementation in Japanese Keyboard: How to Enable and Customize Frosted Glass Themes](/kazumaproject/japanesekeyboard/what-is-the-liquid-glass-effect-implementation-and-how-to-enable-it-in-themes)

Discover the liquid glass effect implementation in kazumaproject/japanesekeyboard. Learn how to enable and customize frosted glass themes by adjusting SharedPreferences for a stunning visual upgrade.

- Tags: how-to-guide
- Published: 2026-03-05

### [How the Dynamic Key State System Updates Keyboard Keys at Runtime in JapaneseKeyboard](/kazumaproject/japanesekeyboard/how-does-the-dynamic-key-state-system-work-for-updating-keyboard-keys-at-runtime)

Discover how the dynamic key state system in JapaneseKeyboard updates key labels actions and icons at runtime without rebuilding layouts Learn more about this efficient approach

- Tags: internals
- Published: 2026-03-05

### [How Snippets (定型文) Work with Exact-Match Triggers in JapaneseKeyboard](/kazumaproject/japanesekeyboard/how-do-snippets-work-with-exact-match-triggers-for-frequently-used-phrases)

Learn how JapaneseKeyboard snippets (定型文) use exact-match triggers and strict SQL equality for instant phrase expansion. Boost your typing efficiency now.

- Tags: how-to-guide
- Published: 2026-03-05

### [User Dictionary System with Forward-Matching Prediction and Import/Export in JapaneseKeyboard](/kazumaproject/japanesekeyboard/what-is-the-user-dictionary-system-with-forward-matching-prediction-and-import-export)

Explore the JapaneseKeyboard app's user dictionary system with real-time forward-matching predictions and easy CSV import export for efficient word management.

- Tags: deep-dive
- Published: 2026-03-05

### [How to Configure Flick Sensitivity and Angle Ranges in JapaneseKeyboard](/kazumaproject/japanesekeyboard/how-to-configure-flick-sensitivity-and-angle-ranges-for-custom-keyboard-behavior)

Customize JapaneseKeyboard flick sensitivity and angle for personalized input. Learn to tune pixel thresholds and define directional mappings for optimal typing.

- Tags: how-to-guide
- Published: 2026-03-05

### [How Sumire Handles Tablet-Specific Keyboard Layouts with Gesture Detection in JapaneseKeyboard](/kazumaproject/japanesekeyboard/how-does-sumire-handle-tablet-specific-keyboard-layouts-with-gesture-detection)

Sumire tailors tablet keyboard layouts using TenKeyQWERTYMode.Sumire and a unified gesture pipeline. Discover its flick, tap, and long-press detection for an optimized input experience.

- Tags: deep-dive
- Published: 2026-03-05

### [Architecture of the Flick Input Controller and Popup View System in JapaneseKeyboard](/kazumaproject/japanesekeyboard/what-is-the-architecture-of-the-flick-input-controller-and-popup-view-system)

Explore the three-layer architecture of the flick input controller and popup view system in JapaneseKeyboard. Decouple gesture detection from UI for efficient flick input.

- Tags: architecture
- Published: 2026-03-05

### [How to Implement Neumorphic Theming with Custom Colors and Borders in Android Keyboard Views](/kazumaproject/japanesekeyboard/how-to-implement-neumorphic-theming-with-custom-colors-and-borders)

Implement custom neumorphic theming in Android keyboard views using custom colors and borders. Learn how to enable dynamic shadows and switch between soft-raised and solid keys.

- Tags: tutorial
- Published: 2026-03-05

### [How the Zenz ML Engine Integrates llama.cpp for AI-Powered Japanese Conversion](/kazumaproject/japanesekeyboard/how-does-the-zenz-ml-engine-integrate-llama-cpp-for-ai-powered-japanese-conversion)

Discover how the Zenz ML engine seamlessly integrates llama.cpp for advanced AI-powered Japanese conversion. Learn about its Kotlin wrapper and native library integration for Android IME.

- Tags: internals
- Published: 2026-03-05

### [How to Create Custom Keyboard Layouts with Dynamic Keys in Sumire](/kazumaproject/japanesekeyboard/how-to-create-custom-keyboard-layouts-with-dynamic-keys-in-sumire)

Learn to create custom keyboard layouts with dynamic keys in Sumire. Define keyIds, flick actions, and attach states to build your personalized keyboard experience. Get started now!

- Tags: how-to-guide
- Published: 2026-03-05

### [JapaneseKeyboard Flick Input Types: CIRCULAR_FLICK, CROSS_FLICK, STANDARD_FLICK, and PETAL_FLICK Explained](/kazumaproject/japanesekeyboard/what-are-the-different-flick-input-types-and-when-to-use-each)

Explore the four JapaneseKeyboard flick input types: CIRCULAR_FLICK, CROSS_FLICK, STANDARD_FLICK, and PETAL_FLICK. Learn how each type affects popup geometry and character selection for efficient input.

- Tags: deep-dive
- Published: 2026-03-05

### [N-gram Language Model Ranking in the Mozc-Based Conversion Engine: How It Works](/kazumaproject/japanesekeyboard/how-does-the-n-gram-language-model-ranking-work-in-the-mozc-based-conversion-engine)

Discover how N-gram language model ranking in the Mozc conversion engine selects top candidates using dictionary frequencies, user entries, and trigram probabilities. Learn more!

- Tags: deep-dive
- Published: 2026-03-05

### [Sumire Japanese Keyboard LOUDS Trie Dictionary Architecture for Candidate Generation](/kazumaproject/japanesekeyboard/what-is-the-louds-trie-dictionary-architecture-used-in-sumire-for-candidate-generation)

Explore Sumire's LOUDS trie dictionary architecture for efficient candidate generation. Discover how it converts readings to kanji, emoji, and symbols with constant-time prefix searches and no network needs.

- Tags: architecture
- Published: 2026-03-05

### [How Sumire Implements Privacy-First Japanese Input With Zero Network Permissions](/kazumaproject/japanesekeyboard/how-does-sumire-implement-privacy-first-japanese-input-with-zero-network-permissions)

Discover how Sumire delivers privacy-first Japanese input with zero network permissions. Learn about its offline mozc engine and AES-256-GCM encryption for secure data.

- Tags: internals
- Published: 2026-03-05

