★kcmの記述例。


caps2ctrl-masterを導入し

android studioから jpkcm/src/main/res/rawと進み

.kcmファイルを開いて

↓のコードに上書きします。


詳しい情報はこちらのサイトを

読んで、それでも分からなかったら

コメントで問い合わせてくだせえ。

(replaceとかは綴り間違えないよう

コピペしてキーコードだけすげ替えると吉)


https://source.android.com/docs/core/interaction/input/key-character-map-files?hl=ja



以下内容。(#の行は説明)

──────────────────


type OVERLAY

# ↑上書きします、と宣言してる。


# https://android.googlesource.com/platform/frameworks/base/+/jb-release/include/androidfw/KeycodeLabels.h

# ↑コードの名称早見表。


# コメントするなら必ず「#」を行の頭に。


# lshiftとrshift(altやctrlも)の区別はできてないみたい。FUNCTIONはmap keyで置き換えるのではなく

# 一旦別のキーを経由してからなら発行可能っぽい。


# FNキーは発行できるがFN自体は差し替えられないっぽい。ctrlとshiftはそもそものキーをreplaceで変えないと修飾キーが発行されない

# →keymapperとかでshiftとか発行しても、結局元のコマンドが優先される 

# →やるならkcmでキーを無効化した上で(STEM_1とかにして)その上でkeymapperの方で設定するべき。


# 基本的に文字はスペルミス防止のため公式コードからコピペ。スペル間違うと(keymapper)←こーゆー風に緑で表示される。


# ALTは画面キーボードがリポップするので不可…と思ったら、単にGBOARDの設定だったっぽい

# 設定→絵文字→物理キーで絵文字を表示 をオフにしたら、普通に使えるようになった 


# APK差し替えてもキーコードが「残る」場合がある。

# →一旦アンインストール&物理キーボード接続解除して

# 不安ならkeymapperとかで発行コード確認するとよろし。


#たしかandroidが古いと「!」とかの文字をShiftに指定しても、上書きされないことがあったような…


# shift修飾子で矢印キー発行すると相性が悪い。元のキーコードでもshiftが乗っかるので選択式になる

# →ALTかFUNCTION使用。


# UNICODEが知りたいならUNICODEPADってアプリ使うと便利。ひらがなは確か3000番台。


# https://android.googlesource.com/platform/frameworks/base/+/cd92588/data/keyboards/Generic.kl

# ↑基本となるコードの番号。記載されてないけど他にもSTEMとかTV_系統も発行できるみたい。詳しくはkeymapperのアクションでコードを調べる。


# 記入例: map key 「元のコード番号」 「入れ替えたいキーの名称」 # 元のキーの名称(書かなくてもいい)

# 一番上のやつだとコードが58 キー名がTV 元のキーがCAPS_LOCKになります。



map key 58 TV # CAPS_LOCK

map key 56 SHIFT_RIGHT # ALT_LEFT

map key 29 STEM_1 # CTRL_LEFT

map key 15 PROG_RED # TAB

map key 42 TV_INPUT_COMPOSITE_1 #SHIFT_LEFT


map key 16 MINUS # Q


map key 41 0 # GRAVE

map key 59 6 # F1

map key 60 7 # F2

map key 61 8 # F3

map key 62 9 # F4



# 記入例: map key 「元のコード番号」 「入れ替えたいキーの名称」 # 元のキーの名称(書かなくてもいい)

# 一番上のやつだとコードが58 キー名がTV 元のキーがCAPS_LOCKになります。


#(入れ替えできなかったら↓のようにreplaceで変換すること)


key 1 {

label: '1'

base: '1'

shift: '!'

}


key 2 {

label: '2'

base: '2'

shift: '"'

}


key 3 {

label: '3'

base: '3'

shift: '#'

}


key 4 {

label: '4'

base: '4'

shift: '$'

}


key 5 {

label: '5'

base: '5'

shift: '%'

}


key 6 {

label: '6'

base: '6'

shift: '&'

}


key 7 {

label: '7'

base: '7'

shift: '\''

}


key 8 {

label: '8'

base: '8'

shift: '('

}


key 9 {

label: '9'

base: '9'

shift: ')'

}


key 0 {

label: '0'

base: '0'

shift: none

}


key MINUS {

label: '-'

base: '-'

shift: replace SLASH

}


key EQUALS {

label: '^'

base: '^'

shift: '~'

}


key YEN {

label: '\u00a5'

base: '\u00a5'

shift: '|'

}


key Q {

label: '/'

base: '/'

shift: '/'

}


key W {

label: 'W'

base: 'w'

shift: replace MEDIA_NEXT

}


key E {

label: 'E'

base: 'e'

shift: 'e'

}


key R {

label: 'R'

base: 'r'

shift: 'r'

}


key T {

label: 'T'

base: 't'

shift: 't'

}


key Y {

label: 'Y'

base: 'y'

shift: 'y'

}


key U {

label: 'U'

base: 'u'

shift: 'u'

}


key I {

label: 'I'

base: 'i'

shift: 'i'

}


key O {

label: 'O'

base: 'o'

shift: 'o'

}


key P {

label: 'P'

base: 'p'

shift: 'p'

}


key LEFT_BRACKET {

label: '@'

base: '@'

shift: '`'

}


key RIGHT_BRACKET {

label: '['

base: '['

shift: '{'

}


key A {

label: 'A'

base: 'a'

shift: replace MEDIA_PREVIOUS

}


key S {

label: 'S'

base: 's'

shift: replace VOLUME_UP

}


key D {

label: 'D'

base: 'd'

shift: replace VOLUME_DOWN

}


key F {

label: 'F'

base: 'f'

shift: 'f'

}


key G {

label: 'G'

base: 'g'

shift: 'g'

}


key H {

label: 'H'

base: 'h'

shift: 'h'

}


key J {

label: 'J'

base: 'j'

shift: 'j'

}


key K {

label: 'K'

base: 'k'

shift: 'k'

}


key L {

label: 'L'

base: 'l'

shift: 'l'

}


key SEMICOLON {

label: ';'

base: ';'

shift: '+'

}


key APOSTROPHE {

label: ':'

base: ':'

shift: '*'

}


key BACKSLASH {

label: ']'

base: ']'

shift: '}'

}


key Z {

label: 'Z'

base: 'z'

shift: 'z'

}


key X {

label: '!'

base: '!'

shift: '!'

}


key C {

label: '?'

base: '?'

shift: '?'

}


key V {

label: '-'

base: '-'

shift: '-'

}


key B {

label: 'B'

base: 'b'

shift: 'b'

}


key N {

label: 'N'

base: 'n'

shift: 'n'

}


key M {

label: 'M'

base: 'm'

shift: 'm'

}


key COMMA {

label: ','

base: ','

shift: '<'

}


key PERIOD {

label: '.'

base: '.'

shift: '>'

}


key SLASH {

label: '/'

base: '/'

shift: '?'

}


key RO {

label: '\\'

base: '\\'

shift: '_'

}




  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る