Compare commits

...

4 commits

3 changed files with 11 additions and 10 deletions

View file

@ -44,10 +44,10 @@ db:
user: example-foundkey-user
pass: example-foundkey-pass
# Whether disable Caching queries
# Whether to disable query caching
#disableCache: true
# Extra Connection options
# Extra connection options
#extra:
# ssl: true
@ -93,7 +93,7 @@ redis:
# deliverJobMaxAttempts: 12
# inboxJobMaxAttempts: 8
# IP address family used for outgoing request (ipv4, ipv6 or dual)
# IP address family used for outgoing requests (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
# Syslog option
@ -121,8 +121,8 @@ redis:
#proxyRemoteFiles: true
# Storage path for files if stored locally (absolute path)
# default is to store it in ./files in the directory misskey is located in
#internalStoragePath: '/etc/misskey/files'
# default is to store it in ./files in the directory foundkey is located in
#internalStoragePath: '/etc/foundkey/files'
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View file

@ -6,11 +6,12 @@ block loadClientEntry
doctype html
//
___ _ _ __
-
___ _ _ __
| __|__ _ _ _ _ __| | |/ /___ _ _
| _/ _ \ || | ' \/ _` | ' </ -_) || |
|_|\___/\_,_|_||_\__,_|_|\_\___|\_, |
|__/
|__/
Thank you for using FoundKey!
If you are reading this message... how about joining the development?
https://akkoma.dev/FoundKeyGang/FoundKey

View file

@ -17,7 +17,7 @@ type Action = {
allowRepeat: boolean;
};
const parseKeymap = (keymap: Keymap) => Object.entries(keymap).map(([_patterns, callback]): Action => {
const parseKeymap = (keymap: Keymap): Action[] => Object.entries(keymap).map(([_patterns, callback]): Action => {
let patterns = _patterns;
const result = {
patterns: [],
@ -66,12 +66,12 @@ function match(ev: KeyboardEvent, patterns: Action['patterns']): boolean {
);
}
export const makeHotkey = (keymap: Keymap) => {
export const makeHotkey = (keymap: Keymap): (ev: KeyboardEvent) => void => {
const actions = parseKeymap(keymap);
return (ev: KeyboardEvent) => {
if (document.activeElement) {
if (ignoreElemens.some(el => document.activeElement!.matches(el))) return;
if (ignoreElemens.some(el => document.activeElement?.matches(el))) return;
if (document.activeElement.attributes['contenteditable']) return;
}