diff --git a/src/app/app.component.html b/src/app/app.component.html
index b880b6e..3358da8 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -14,5 +14,8 @@
{{interactable}}
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 2bc61a7..584f33e 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -1,9 +1,5 @@
-import { AfterViewInit, Component, OnInit } from "@angular/core";
-import { app, tauri } from "@tauri-apps/api";
+import { Component, Directive, HostListener, OnInit } from "@angular/core";
import { invoke } from "@tauri-apps/api/tauri";
-import { ShortcutHandler, register } from "@tauri-apps/api/globalShortcut";
-import { Event, listen } from '@tauri-apps/api/event';
-import { Observable, Subscriber, from } from "rxjs";
import { ShortcutService } from "./services/shortcut.service";
import { EventsService } from "./services/events.service";
@@ -21,15 +17,14 @@ class StateEvent {
export class AppComponent implements OnInit {
auto_hide: boolean = true;
interactable: boolean = false;
+ test: boolean = false;
constructor(private shortcuts: ShortcutService, private events: EventsService) { }
ngOnInit(): void {
-
invoke("set_auto_hide", { auto_hide: this.auto_hide }).then();
this.shortcuts.register('F6').subscribe((s) => {
-
if (this.interactable) {
this.interactable = false;
} else {
@@ -42,13 +37,10 @@ export class AppComponent implements OnInit {
this.events.listen("OverlayStateChange").subscribe(event => {
this.interactable = event.payload.Interactable != null;
})
-
-
}
toggleAutoHide() {
console.log("toggle auto hide!!");
invoke("set_auto_hide", { autoHide: this.auto_hide }).then();
}
-
-}
+}
\ No newline at end of file
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 2605abf..c931da2 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -3,9 +3,10 @@ import { BrowserModule } from "@angular/platform-browser";
import { AppComponent } from "./app.component";
import { FormsModule } from "@angular/forms";
+import { RecordKeyChord } from "./directives/record-key-chord.directive";
@NgModule({
- declarations: [AppComponent],
+ declarations: [AppComponent, RecordKeyChord],
imports: [BrowserModule, FormsModule],
providers: [],
bootstrap: [AppComponent],
diff --git a/src/app/directives/record-key-chord.directive.ts b/src/app/directives/record-key-chord.directive.ts
new file mode 100644
index 0000000..1c3f27e
--- /dev/null
+++ b/src/app/directives/record-key-chord.directive.ts
@@ -0,0 +1,20 @@
+
+import { Directive, HostListener, Input } from '@angular/core';
+
+@Directive({
+ selector: '[RecordKeyChord]'
+})
+export class RecordKeyChord {
+ @Input('enable') enable: boolean = false;
+
+ @HostListener('window:keydown', ['$event'])
+ handleKeyDown(event: KeyboardEvent) {
+ console.log("keydown:", event);
+ }
+
+ @HostListener('window:keyup', ['$event'])
+ handleKeyUp(event: KeyboardEvent) {
+ console.log("keydown:", event);
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/services/keybind-manager.service.ts b/src/app/services/keybind-manager.service.ts
new file mode 100644
index 0000000..920c0fc
--- /dev/null
+++ b/src/app/services/keybind-manager.service.ts
@@ -0,0 +1,9 @@
+import { Injectable } from '@angular/core';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class KeybindManagerService {
+ constructor() { }
+
+}
diff --git a/src/app/services/shortcut.service.ts b/src/app/services/shortcut.service.ts
index 71ed305..2f7252a 100644
--- a/src/app/services/shortcut.service.ts
+++ b/src/app/services/shortcut.service.ts
@@ -14,5 +14,6 @@ export class ShortcutService {
this.zone.run(() => subscriber.next(s));
})
});
+
}
}