Code Monkey home page Code Monkey logo

qmk_keymap's People

Contributors

h-youhei avatar

Watchers

 avatar  avatar

qmk_keymap's Issues

kana layer

implement by send romaji sequence or kana keycode

how to handle layer state in modal app, like vim, 's insert mode?

to use unused led or qmk/qmk_firmware#921.
in the future, may use qmk/qmk_firmware#895
kana lock led is ideal. but it doesn't work with us layout. maybe modifying xkb setting is needed.
use num lock for now.

other functions that conflict with english layout

confirm with punctuation
use one side of space for other function of ime
enter once to break line

misc

make CLEAR also ensure that layer state matches ime state by sending keycode that make ime off and set layer default.
if modifier is pressed send keycode of default layer.

im_state after BS or Del

Should handle BS or Del erase whether last character or other character is left.

  • if last character then im_state will be PreComposition
  • if other character is left then im_state will be Predict or Composition

To handle properly, should consider cursor position and count of character.
And how can I handle long press ?

For now, give up as-you-type conversion for functional keys after BS/Del.
Set im_state to PreComposiotion after BS/Del in any conditions.

problems with Windows

Problems

Windows doesn't let me change keyboard layout

  • without reboot
  • and per user
  • and per keyboard without modifying the registory

Changing keyboard layout affects other user.
I prefer us layout for symbols but most people in Japan use jp layout.

On Windows, kana , henkan or muhenkan key don't respond with us layout.

Possible solution

use jp keycode
remap shift side keycode in process record

modify the registry so that my keyboard is recognized as us layout.
map IME on/off etc to some unused keycode

配列の改善点

小数点としての . が打ちにくい

横スクロールを縦スクロールのfnに移す
pgup/downと縦スクロールを上に1つずつずらす
pgup/downの場所に , と . をもう1つ用意する

クリックとスクロールは同時に使うことが結構ある。遠い

右人差し指に違和感。濁音シフトの同時押しが負担になってると思う。

濁音シフトのみで打つ「だでどじがば」のどれかを単打に
薬指の上段を利用
ひらがな、カタカナキーはqzの位置へ

make easier to type 連濁

To produce けげ, now it has to be typed
press カ+エ、leave カ+エ、pressエ+カ、leave エ+カ.
This is easier to type.
press カ+エ、leave カ、press カ、leave カ+エ

Incidentally,
press イ+サ(イ first)、leave イ、press ア、produce じざ.

No pinky Minimum ring layout

Use pinky columns with index and middle by moving home position

When type with pinky, should keep ring raised. That hurts ring.
Excessive use thumb to change layer hurts thumb.
Changing layer with index or middle conflict other modifier.

  • Place number and cursor keys on pinky columns
  • Place frequently used functions and symbols on number row

Put, symbols shifted or not on default layer, together in the layer for symbol

Mix use of shift and symbol layer cause confusion.

simultaneous handling

determine when release only

determine as soon as it can be determined

key

register after SIMULTANEOUS_TERM
register when next key is pressed
register when next mod is pressed and that is not simultaneous

mod

register after TAPPING_TERM
tap when the mod is released within TAPPING_TERM
register when simultaneous tapping

unregister before register prev key that is pressed just before the mod is released

simultaneous shift with 3 or more keys

Currently I have to care about shifting order.
In order to get rid of it, I can use simultaneous shft instead.
But current keymap don't have enough key combination.
Maybe it's better even this cause more key pressing.

Implementation

Use 3 keys for 濁音 or 外来音
Use 4 keys for 濁音 and 外来音
Press consonant/vowel key with middle finger and neighbor key with index finger. (middle + index or index + inner)

use predictive conversion

If I can select candidate by numeric keys, predictive conversion seems to be useful.

Possible implementation is this

no input

input number

preedit

  1. change state to predictive conversion
  2. select candidate by number

conversion

select candidate by number

To implement it, input state should be handled by the keyboard.

starting state: no input
some character: preedit
convert or predict: conversion
commit: no input
ime off: no input

use chord for alphabet layout

If left hand consonant and right hand vowel are pressed simultaneously, send consonant then vowel.
Send frequently used bigrams if neighbor keys on index and middle finger are pressed simultaneously.
Bigrams that cannot be covered by consonant and vowel pair have priority.

For example
t+a=ta
e+a=ea
s+t+o=sto
t+i+o=tio

bi-consonants

th
st
ch
rn

bi-vowels

ou
io
ea
ai

others on right hand

ed

others on both side

nd
ng
mp
gh
ght
sp
sk
ld
rd
rk
ck
p+r=per
's
't
'll
're
'm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.