3 Commits
v1.0 ... v1.0.1

Author SHA1 Message Date
eneller
2b6ea24d5e chore: bump version 2026-01-25 20:12:29 +01:00
eneller
02e6b033c2 chore: remove demo 2026-01-25 20:00:23 +01:00
eneller
076816bd12 doc: readme 2026-01-24 18:52:01 +01:00
5 changed files with 6 additions and 25 deletions

View File

@@ -15,6 +15,6 @@ Keyboard emulation on most systems requires workarounds for two issues:
- not receiving focus when clicked
- sending input
## Logging Setup
either use [TextTestExe](https://depts.washington.edu/acelab/proj/texttest/) (local program) or [TextTestPP](https://drustz.com/TextTestPP/) (online).
## Logging and Statistics
For logging, either use [TextTestExe](https://depts.washington.edu/acelab/proj/texttest/) (local program) or [TextTestPP](https://drustz.com/TextTestPP/) (online).
The theoretical framework is inspired by https://www.yorku.ca/mack/bit95.html

View File

@@ -1,6 +1,6 @@
{
"name": "keeb",
"version": "0.1.0",
"version": "1.0.1",
"scripts": {
"ng": "ng",
"start": "ng serve",

View File

@@ -1,7 +1,7 @@
use enigo::{Direction, Enigo, Key, Keyboard, Settings};
use tauri::Manager;
#[cfg(target_os = "linux")]
use std::ptr;
use tauri::Manager;
// Learn more about Tauri commands at https://tauri.app/develop/calling-rust/
#[tauri::command]

View File

@@ -1,11 +1,4 @@
<main class="container">
<form class="row" (submit)="greet($event, greetInput.value)">
<input #greetInput id="greet-input" placeholder="Enter a name..." />
<button type="submit">Greet</button>
</form>
<p>{{ greetingMessage }}</p>
<!-- Layout Switcher -->
<div class="layout-controls">
<button (click)="switchLayout()" class="layout-button">

View File

@@ -19,24 +19,13 @@ import { CircleKeyboardComponent } from './keyboards/circle-keyboard.component';
templateUrl: './app.component.html',
styleUrl: './app.component.css'
})
export class AppComponent implements AfterViewInit {
export class AppComponent {
greetingMessage = "";
currentLayout: 'qwerty' | 'dvorak' | 'circle' = 'qwerty';
shiftActive = false;
@ViewChild('greetInput') inputElement!: ElementRef;
ngAfterViewInit() {
this.inputElement.nativeElement.focus();
}
greet(event: SubmitEvent, name: string): void {
event.preventDefault();
invoke<string>("greet", { name }).then((text) => {
this.greetingMessage = text;
});
}
toggleShift(): void {
this.shiftActive = !this.shiftActive;
}
@@ -52,7 +41,6 @@ export class AppComponent implements AfterViewInit {
}
async handleKeyPress(key: string): Promise<void> {
this.inputElement.nativeElement.focus();
let finalKey = key;
if (key.length === 1) {