
Custom keyboard view library for internal use, focusing on rapid prototyping. Features layout variants, autocomplete, theming support, and cross-platform integration, with development phase limitations.
A custom keyboard view library designed for internal use within the Actinis Remote project.
Built using Compose Multiplatform.
Supports Android, iOS and desktop (JVM).
The following features are planned for future development:
This project is an early-stage MVP and represents a small, non-critical component of a much larger MVP initiative.
As such, the current codebase prioritizes rapid prototyping over production-level quality. For now, you should not expect:
Contributions and feedback are welcome, but please keep the project's early-stage nature in mind.
Add to your AndroidManifest.xml:
<provider android:authorities="${applicationId}.androidx-startup" android:exported="false"
android:name="androidx.startup.InitializationProvider" tools:node="merge">
<meta-data android:name="io.actinis.remote.keyboard.domain.initialization.AndroidLibraryInitializer"
android:value="androidx.startup" />
</provider>Add keyboard modules to your modules:
val koinApp = startKoin {
androidContext(context)
modules(*keyboardModules)
}
koinApp.initializeKeyboard()on iOS:
@main
struct iOSApp: App {
init() {
// Add this
StartDiDarwinKt.startDi()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}This project is licensed under the Apache License 2.0. You may use, modify, and distribute the code, provided you comply with the terms of the license. See the LICENSE file for more details.
A custom keyboard view library designed for internal use within the Actinis Remote project.
Built using Compose Multiplatform.
Supports Android, iOS and desktop (JVM).
The following features are planned for future development:
This project is an early-stage MVP and represents a small, non-critical component of a much larger MVP initiative.
As such, the current codebase prioritizes rapid prototyping over production-level quality. For now, you should not expect:
Contributions and feedback are welcome, but please keep the project's early-stage nature in mind.
Add to your AndroidManifest.xml:
<provider android:authorities="${applicationId}.androidx-startup" android:exported="false"
android:name="androidx.startup.InitializationProvider" tools:node="merge">
<meta-data android:name="io.actinis.remote.keyboard.domain.initialization.AndroidLibraryInitializer"
android:value="androidx.startup" />
</provider>Add keyboard modules to your modules:
val koinApp = startKoin {
androidContext(context)
modules(*keyboardModules)
}
koinApp.initializeKeyboard()on iOS:
@main
struct iOSApp: App {
init() {
// Add this
StartDiDarwinKt.startDi()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}This project is licensed under the Apache License 2.0. You may use, modify, and distribute the code, provided you comply with the terms of the license. See the LICENSE file for more details.