ããŒããŒããã©ãã³æåãŸãã¯ããªã«æåã§ã©ãã«ä»ããããŠãããç¹ã«è€éãªã¢ã«ãã¡ããã以å€ã®ã¹ã¯ãªããã䜿çšããŠå¥ã®èšèªã§ããã¹ããå
¥åããå¿
èŠãããå Žåã¯ãLinuxå
¥åã·ã¹ãã ã«é¢ãããã®ã¡ã¢ïŒç°¡ç¥åããããããŒããŒãã¬ã€ã¢ãŠããïŒã圹ç«ã¡ãŸãã
ãããŸããªçšèªã«ã€ããŠã¯äºåã«ãaã³ç³ãäžããŸãããå
æ¬çãªæè¡çãªèª¬æã®ãµããããããšã¯ãããŸããã ãã®èšäºã®äž»ãªç®çã¯ãå®è£
ã§ã¯ãªãå¯èœæ§ã®èª¬æã§ãã
å
¥åæ¹æ³
Linuxã®äž»ãªå
¥åæ¹æ³ïŒIMïŒã¯XKBã§ãããããã©ã«ãã§ã€ã³ã¹ããŒã«ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã€ã³ã¹ããŒã«åŸããã«ã¢ã¯ãã£ãã«ãªããŸãã XKBã¯ã¢ã«ãã¡ãããã®ã¹ã¯ãªããã§åäœããããã«èšèšãããŠãããã€ã³ããã¢ããªã«ã§ã¯äžåœèªã®æåãé³ç¯ãªã©ã®è€éãªã¹ã¯ãªãããæäŸã§ããŸããã ã·ã¹ãã ã¯ã4ã€ä»¥äžã®ã¬ã€ã¢ãŠãã§åäœããããã«æ§æã§ããŸãã æåŸã®å¶éã¯ããããããŒäžã®åèšèªã«å¿
èŠãªãã©ã¡ãŒã¿ãŒã®çµã¿åããã§ã³ãã³ãåŒã³åºããè¡ãããšã«ããåé¿ã§ããŸãã
ããã«æè»æ§ãå¿
èŠãªå Žåã¯ããã¬ãŒã ã¯ãŒã¯ïŒå
¥åã¡ãœãããã¬ãŒã ã¯ãŒã¯ïŒã«ç§»åããå¿
èŠããããŸãã Linuxã®ãã®ãããªã·ã¹ãã ã®äž»ãªä»£è¡šè
ïŒIBusãSCIMãFcitxã ãã¬ãŒã ã¯ãŒã¯èªäœã¯ããã¹ãã®å
¥åæ¹æ³ãèªèããŠããªããããããŸããŸãªã¹ã¯ãªããããã©ã°ã€ã³ïŒãšã³ãžã³ïŒã®åœ¢åŒã§æ¥ç¶ããå¿
èŠããããŸãã IBusãšFcitxã䜿çšããçµéšãããäž¡æ¹ã®ã·ã¹ãã ãã»ãŒåãæ°ã®ãã©ã°ã€ã³ããµããŒãããŠãããšèšããŸãã å€ãã®å Žåããããã¯ã»ãšãã©åããã©ã°ã€ã³ã§ãã ããšãã°ãäžåœèªã®ãã³ã€ã³å
¥åã¡ãœããã¯ã¹ã¿ã³ãã¢ãã³ã®libpinyinã©ã€ãã©ãªãšããŠå®è£
ãããŠãããIBusãŸãã¯Fcitxãä»ããŠæ¥ç¶ãããšãåãæ©èœãæäŸãããŸãã
éå»6ã7幎éã§ãããã€ãã®æ©èœãç»å Žããå¯èœæ§ããããŸããããã¬ãŒã ã¯ãŒã¯ã®éãã¯å¹³æºåããããšæšæž¬ã§ããŸãã 次ã«ãã¡ã€ã³ã®IBusãã©ã°ã€ã³ããã銎æã¿ã®ããã·ã¹ãã ãšããŠãªã¹ãããŸãã
ãŸããIBusã¯xkbãšãã®ãã¹ãŠã®æ©èœãééçã«äœ¿çšã§ããŸãã å¯äžã®åé¡ã¯ãIBusãXKBæ§æãåçã«çæã§ããªãããšã§ãã æãäžè¬çãªãã®ã¯ããã¡ã€ã«/usr/share/ibus/component/simple.xml
ã§äºåå®çŸ©ãããŠãããå¿
èŠã«å¿ããŠå€æŽããã³è£è¶³ã§ããŸãã ïŒIBusãæŽæ°ãããšããã¡ã€ã«ã¯æšæºã®ãã¡ã€ã«ã«çœ®ãæããããŸããïŒ
ããšãã°ããã·ã¢èªã®ã¬ã€ã¢ãŠãã¯æ¬¡ã®ãšããã§ãã
<engine> <name>xkb:ru::rus</name> <language>ru</language> <license>GPL</license> <author>Peng Huang <shawn.p.huang@gmail.com></author> <layout>ru</layout> <longname>Russian</longname> <description>Russian</description> <icon>ibus-keyboard</icon> <rank>99</rank> </engine>
layout
å ããŠlayout
layout_variant
ãæå®ã§ããŸããä»ã®setxkbmap
ãªãã·ã§ã³setxkbmap
å©çšã§ããŸãããããã«ã¯ã misc:typo
åŒæ°ãä»ããŠxkbã§æå®ãããIlya Birmanã®æåãªã¿ã€ãã°ã©ãã£ã¬ã€ã¢ãŠããå«ãŸããŸãã ãã®å¶éãåé¿ããããã¿ã¹ã¯ã®ã¬ã€ã¢ãŠããäœæããã«ã¯ãå®å
šã«èšè¿°ããå¿
èŠããããŸãã ãããè¡ãã«ã¯ã /usr/share/X11/xkb/symbols
ãã©ã«ããŒã§ã custom
ãã¡ã€ã«ãäœæãïŒæ¢åã®ãã¡ã€ã«ãè£è¶³ããå Žåãã·ã¹ãã ãæŽæ°ããããšäžæžããããŸãïŒãã¬ã€ã¢ãŠãæ§æãèšå®ããå¿
èŠããããŸãã ããšãã°ãã€ãªã€ããŒãã³ãè¿œå ãããã·ã¢èªïŒ
partial alphanumeric_keys xkb_symbols "ru-typo" { include "ru(winkeys)" include "typo(base)" include "level3(ralt_switch)" // 1th keyboard row key <TLDE> { [ NoSymbol, NoSymbol, U0301, NoSymbol ] }; // "~" };
include
æååinclude
ãæ¢è£œã®ãã³ãã¬ãŒãããæ§æãåéããŸãã ãããã£ãŠããã·ã¢èªã®ã¬ã€ã¢ãŠããwinkeysãã®ããªã¢ã³ãã¯ããã¡ã€ã«ãruãããååŸãããŸãã 次ã«ããtypoããã¡ã€ã«ã®ãbaseãã¬ã€ã¢ãŠãã§è£è¶³ããã3çªç®ã®ã¬ã€ã€ãŒAltGrã®ã¹ã€ãããèšå®ãããŸãïŒãã¡ã€ã«ãlevel3ããåç
§ïŒãããã¯ã³ãã³ãã«äŒŒãŠããŸãã
setxkbmap -layout ru -variant winkeys -option lv3:ralt_switch,misc:typo
å¿
èŠã«å¿ããŠãç¬èªã®å€æŽãå ããããšãã§ããŸãã äžèšã®äŸã§ã¯ãã¢ã¯ã»ã³ãèšå· "U + 0301"ïŒçµåæ¥æ§ã¢ã¯ã»ã³ãïŒã¯AltGr +ãã«ã¬ã³ããªã³ã°ãããŠããŸãã NoSymbol
ã瀺ãããäœçœ®ã¯ãåã®ãã¿ãŒã³ã®å®çŸ©ã䜿çšããŸãïŒãwinkeysãã®ãããšããããtypoãã®ãâãïŒ
key <TLDE> { [ Cyrillic_io, Cyrillic_IO, NoSymbol, NoSymbol ] }; // winkeys key <TLDE> { [ NoSymbol, NoSymbol, NoSymbol, approxeq ] }; // typo key <TLDE> { [ NoSymbol, NoSymbol, U0301, NoSymbol ] }; // custom
次ã«ãäœæããã¬ã€ã¢ãŠãã次ã®åœ¢åŒã§/usr/share/ibus/component/simple.xml
ãã¡ã€ã«ã«å
¥åããå¿
èŠã/usr/share/ibus/component/simple.xml
ãŸãã
<engine> <name>xkb:ru:typo:rus</name> <language>ru</language> <layout>custom,us</layout> <layout_variant>ru-typo,</layout_variant> <longname>Russian (with Typo)</longname> <description>Russian (with Typo)</description> <icon>ibus-keyboard</icon> <rank>1</rank> </engine>
ããã§ã custom
ã¯ãã©ã«ããŒ/usr/share/X11/xkb/symbols
å
ã®ãã¡ã€ã«ã®ååã§ã ru-typo
ã¯ãã®äžã«å«ãŸããã¬ã€ã¢ãŠãã瀺ããŸãã ãããããŒãæ£ããæ©èœããããã«ãè¿œå ã®ã¬ã€ã¢ãŠãã瀺ãããŠããŸãïŒCtrl + CãCtrl + Vãªã©ïŒã IBusãåèµ·åããåŸïŒibus ibus restart
ïŒãæ°ããã¬ã€ã¢ãŠãããã·ã¢èªïŒã¿ã€ãä»ãïŒããèšå®ã«è¡šç€ºãããŸãã
2çªç®ã®å
¥åæ¹æ³ã¯m17nã§ãã ããã¯ãããŸããŸãªã¹ã¯ãªããçšã®ããŒããŒãã¬ã€ã¢ãŠãã®ããªãè±å¯ãªã©ã€ãã©ãªã§ãã IBusã«ã¯ç¬èªã®åæ§ã®ibus -tableå
¥åã¡ãœããããããããã¯ããããã«äœãæ©èœããšèª¬æãããŠããŸãã åŸè
ã䜿çšããŠãè€éãªããžãã¯ã䜿çšããã«ã©ãã³æåãšå¿
èŠãªã¢ã«ãã¡ãããã®æåãšã®éã®äžæã®å¯Ÿå¿ã䜿çšããŠã¬ã€ã¢ãŠããäœæããå¿
èŠããã£ãããã2ã€ã®ã·ã¹ãã ã®ã©ã¡ããããæ©èœçã§è¡šçŸåãããããå€æã§ããŸãã-m17nãŸãã¯ibus-table圢åŒã§ã®ã¬ã€ã¢ãŠãã®èª¬æ ibus-tableã¡ãœããã«ã¯ã察å¿ããè¡šèšæ³ã§æåãå
¥åããããã®èå³æ·±ãã¬ã€ã¢ãŠããLaTeXããå«ãŸããŠããŸããã \Delta
ãã¯ãÎããã \ge
ãã¯ãâ¥ããªã©ã§ãã
次ã®æ±çšå
¥åã¡ãœããã¯KMFLã§ãã ããã¯ãWindowsçšã®Keymanã®å
¥åæ¹åŒã® LinuxããŒãžã§ã³ã§ãã æããŸããªã¹ã¯ãªããããµããŒãããããŸãäžè¬çãªIMã§ã¯ãããŸããã å
ã®Keymanãšã¯ç°ãªãã1000ãè¶
ããã¹ã¯ãªããã§å°å·ããããšãèšèŒãããŠãããããKMFLã¯ããã»ã©éçºãããŠããŸããããæçšãªå ŽåããããŸãã ã¬ã€ã¢ãŠãèšè¿°åœ¢åŒã¯ããã¹ãã§ããMsWindowsã§äœæããããã®ããã°ã©ã ããããŸãã EuroLatinã¬ã€ã¢ãŠãã䜿çšããŸãããã®ã¬ã€ã¢ãŠãã§ã¯ãããã¹ãã 2//3
ããåæ°ãâ
ãã«å€æãããã·ãŒã±ã³ã¹ã -a
ãããã¯ãã³ãÄãã«å€æãããŸãã xkbã®ComposeããŒãæãåºãããŸãããå¥åã®ä¿®é£Ÿåã¯å¿
èŠãããŸãã-KMFLèªäœããã€ã€ã«äžã«ã·ãŒã±ã³ã¹ãèªèããŸãã
ä»ã®å
¥åã¡ãœããã¯ãåå¥ã®ã¹ã¯ãªããã«ç¹åããŠããŸãïŒäžåœèªã®å Žåã¯ibus-libpinyinããããã èªã®å Žåã¯ibus-unikeyãªã©ã ãããã®ãã©ã°ã€ã³ã®èšå®ã/usr/share/ibus/component/
ãŸãã 察å¿ãããã¡ã€ã«ã§ã¯ãåºæ¬çãªããŒããŒãã¬ã€ã¢ãŠããæå®ããå¿
èŠãããå ŽåããããŸããããããªããšãéã©ãã³èªã¬ã€ã¢ãŠãããåãæ¿ãããšãããããåäœããªããªããŸãã ããšãã°ã libpinyin.xml
ãlayoutããã©ã¡ãŒã¿ãŒãèŠã€ããŠãQWERTYããŒããŒãã®å Žåã¯ãusããAZERTYã®å Žåã¯ãfrããªã©ãå
¥åããå¿
èŠããããŸãã
<layout>us</layout>
ã¬ã€ã¢ãŠããåãæ¿ãã
ã»ãšãã©ã®å Žåããã·ã¢èª-è±èªãäžåœèª-ã¹ãã€ã³èªãªã©ã®èšèªãã¢ã§äœæ¥ããŸãã ãããã£ãŠãæåŸã®2ã€ã®ã¬ã€ã¢ãŠãïŒCapsLockïŒãåãæ¿ãããããããŒã1ã€ãããã¬ã€ã¢ãŠãèªäœã¯åå¥ã®ãããããŒïŒããžã¿ã«ãããã¯ã§ã¯Win + 1 ... 9ïŒã«ãã£ãŠåãæ¿ããããŸãã ãããã£ãŠããŸããäœæ¥ã¬ã€ã¢ãŠãWin + 1ïŒenïŒãšWin + 2ïŒruïŒãèšå®ãã次ã«CapsLockã§åãæ¿ããŸãïŒen <-> ruïŒã
IBusã§ã¯ã2ã€ã®ãããããŒãèšå®ã§ããŸãã1ã€ã¯ã¬ã€ã¢ãŠãã®ãªã¹ãã埪ç°çã«åãæ¿ããããã®ãã®ã§ããã1ã€ã¯æåŸã®2ã€ã®ã¬ã€ã¢ãŠãã®ããã®ãã®ã§ãã ã³ã³ãœãŒã«ããç®çã®ã¬ã€ã¢ãŠããéžæããããã«å¿ããŠã¹ã¯ãªããããããããŒã«å²ãåœãŠãããšãã§ããŸãã
IBusããããã®èšå®ããªã»ãããããããxmodmapã䜿çšããxmodmap
åå²ãåœãŠã¯æ©èœããªãããšã«æ³šæããŠãã ããã ãããã£ãŠãç§ã¯udev
ä»ããŠCapsLockãF14ïŒãã¡ã€ã«/etc/udev/hwdb.d/90-custom-keyboard.hwdb
ïŒãšããŠã°ããŒãã«ã«åå®çŸ©udev
ããšã奜ã¿ãŸãã
evdev:input:b0003v1A2Cp0E24* # my keyboard id KEYBOARD_KEY_70039=f14 # bind capslock to f14
ãããŠãIBusã§æ¢ã«F14ããããããŒãšããŠäœ¿çšããŸãã ç§ã®çµéšã§ã¯ãããã¯æãå®å®ããæ§æãæäŸããŸãã
udevã®æ§æã®è©³çŽ°ã«ã€ããŠã¯ãèšäºã®æåŸãåç
§ããŠãã ããã
ä»®æ³ããŒããŒã
ç¹å®ã®æžèšäœç³»çšã«ããŒã¯ã¢ãããããããŒããŒãã¯ããã·ã¢èªïŒYTsUKENïŒãªã©ãå€æ°ã®ãŠãŒã¶ãŒãããèšèªã§ã®ã¿å·¥æ¥çã«çç£ãããŠããŸãã ã¢ã«ã¡ãã¢ã§ããžã§ãŒãžã¢ã§ããåœã®ã¢ã«ãã¡ãããã®æåã§çœ²åãããããŒãåããããŒããŒãã賌å
¥ããããšã¯ã§ããŸããã åæ§ã«ãã«ã¶ãã¹ã¿ã³ãšãŠãºããã¹ã¿ã³ã§ã¯ããã·ã¢èªãšè±èªã®ããŒããŒãã䜿çšããæšæºã®ã©ãã³ãŸãã¯ããªã«æåã«å«ãŸããŠããªãæåãã©ãã«ããããåŠã¶ããšãäœåãªããããŠããŸãã
æ°ããã¬ã€ã¢ãŠãããã¹ã¿ãŒããŠããå Žåã¯ãä»®æ³ããŒããŒãã䜿çšããããšããå§ãããŸãã Onboardã¯ãã¢ã¯ãã£ããªã¬ã€ã¢ãŠãã«é©å¿ããå¥ã®ã¬ã€ã¢ãŠãã«åãæ¿ãããšæŽæ°ããããããæ°ã«å
¥ã£ãŠããŸãã ãã ããããã¯xkbã§ã®ã¿æ©èœããŸãïŒIBusçµç±ã§xkbã䜿çšããå Žåãåæ§ïŒã
ãªã³ããŒãã¯ãxkbã¬ã€ã¢ãŠãã®ãã¹ãã«éåžžã«äŸ¿å©ã§ããã¹ãŠã®ã¬ã€ã€ãŒïŒAltGrãªã©ïŒã§å²ãåœãŠãããã·ã³ãã«ã確èªã§ããŸãã
ãããã«
ãã¹ãŠã®ããã°ã©ã ãèšèªãã¬ãŒã ã¯ãŒã¯ãæ£ãããµããŒãããŠããããã§ã¯ãããŸããã ç¹ã«ãSublime Text 3ã¯SCIMã§ã®ã¿åäœããIBusã䜿çšãããšãéžæãããã¬ã€ã¢ãŠãã«é¢ä¿ãªããã©ãã³æåã®ã¿ãå°å·ãããŸãã
ç§ã¯ããªãåããIBusã䜿çšããŠããŸãããä»ã®ã·ã¹ãã ãéåžžã«è¡šé¢çã«ç¥ã£ãŠããŸãã ã€ã³ã¿ãŒãããã®ã¬ãã¥ãŒã«ãããšãFctixã¯ããæ©èœçã§ãäžåœèªã®ããã¹ããå
¥åããã®ã«ããé©ããŠãããšèª¬æãããŠããŸãã ãããã«ãããäžåœèªã®ããã¹ãã䜿çšããå ŽåãIBusã¯ç§ã«å®å
šã«åã£ãŠãããéãã¯ååãšããŠã¯ãªããŸããã ååFctixã䜿çšããå¿
èŠããã£ãïŒ2幎åïŒãšãããã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãã«ãŒãœã«ãããã¹ããã£ãŒã«ãã«ãªãå Žåã«ã¬ã€ã¢ãŠããåãæ¿ããããšãã§ããŸããã§ããã ãã®ãã°ãä¿®æ£ãããããšãé¡ã£ãŠããŸãã
ããŸããŸãªã¹ã¯ãªãããæäœããããã®ãã1ã€ã®å©ãã¯ãã·ãªã³ã³ããŒããŒããªãŒããŒã¬ã€ã§ãã äžåœã®ãªã³ã©ã€ã³åžå Žã§ã¯ãããŸããŸãªã¹ã¯ãªããçšã®Apple Magic Keyboardçšã®ãªãŒããŒã¬ã€ïŒä¿è·æ€èãŸãã¯é®çèïŒãæäŸãããŠããŸãã äžåœä»¥å€ã®ãã£ã¹ããªãã¥ãŒã¿ãŒã®äŸã ãããã3äžä»£ã®Apple Magicãçç£ããïŒãããŠãããããã¢ã¡ãªã«ããšãŒããããããã³æ¥æ¬ã®ããŒãžã§ã³ã§ïŒãäžåœã®ã¬ããªã«ã¯ç·åœ¢ã®å¯žæ³ãšããŒã®é
眮ãç°ãªãããšã«æ³šæããŠãã ããã æã
ãã³ã³ãã¥ãŒã¿ãŒã®ããŒããŒãã«åäžã®æšæºããªãããšãåŸæããŠããŸãã
ããŒæŒäžä¿¡å·ã®å€æã«é¢ããã¯ã€ãã¯ãªãã¡ã¬ã³ã¹æŒãããããŒã®ããžã¿ã«ã³ãŒãã¯ããã®å€ãæ°åå€æŽããŸãã
- scancodeïŒããŒãæŒããããšãããŒããŒãïŒãŸãã¯ãã©ã€ããŒïŒïŒãLinux ã«ãŒãã«ã«ã¹ãã£ã³ã³ãŒããéä¿¡ããŸã ã
- ããŒã³ãŒãïŒæ¬¡ã«ãã«ãŒãã«ã§ã ã¹ãã£ã³ã³ãŒãã ããŒã³ãŒãã«å€æãããŸãïŒLinuxå
¥åAPIãµãã·ã¹ãã ïŒã ããã°ã©ã udev ã keyfuzz ã setkeycodesã䜿çšããŠå€æãå¶åŸ¡ã§ããŸãã
- keysymïŒ X Window Systemã¯ãã«ãŒãã«ããããŒã³ãŒããåãåãããããkeysymã«å€æããŸã-ããã¯ãã¯ã©ã€ã¢ã³ãããã°ã©ã ãå
¥åãšããŠåãåãæçµæåã§ãã å€æã¯ãXKBãŸãã¯xmodmapïŒéæšå¥šïŒãä»ããŠæ§æãããŸãã
äžèšã®ã·ãŒã±ã³ã¹ããã ã¹ãã£ã³ã³ãŒã > ããŒã³ãŒãã®æ®µéã§ããŒãåå²ãåœãŠããããšãæãŸããããšãããããŸããããã¯ãKXBãšã®äº€å·®ãåŒãèµ·ãããªãããã§ãã
Udevã»ããã¢ããæé ã¹ãã£ã³ã³ãŒãããããŒã³ãŒããžã®å€æã¯ãåå
¥åããã€ã¹ããšã«åå¥ã«å€æããããããæåã«ããŒããŒãã®äžæã®èå¥åãèŠã€ããå¿
èŠããããŸãïŒå®éãevdevã¯ãããŠã¹ããããªã³ã¿ãŒããŠã§ãã«ã¡ã©ãŸã§ã®ãã¿ã³ãåãã倧èŠæš¡ãªåšèŸºæ©åšã§ãåäœããŸãïŒã Arch LinuxãŠãŒã¶ãŒã¯æ¬¡ã®ã¹ã¯ãªããã䜿çšã§ããŸãïŒä»ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®å Žåããã¹ã®èª¿æŽãå¿
èŠãªå ŽåããããŸãïŒã
åãããã€ã¹ã¯ãç°ãªãååã§è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã§ã·ã¹ãã å
ã«è¡šãããšãã§ããŸãããèå¥åã¯åãã«ãªããŸãã ããšãã°ãç§ã®ããŒããŒãã¯2ã€ã®ããã€ã¹ãšããŠå®çŸ©ãããŠããŸãã
usb-SEM_USB_Keyboard-event-if01 evdev:input:b0003v1a2cp0e24e0110* usb-SEM_USB_Keyboard-event-kbd evdev:input:b0003v1a2cp0e24e0110*
泚ïŒèå¥åã¯ïŒããšãã°ã b0003v1a2cp0e24*
ïŒæžããããšãã§ããŸããããã¯ãåãã¿ã€ãã®äžé£ã®ã¢ãã«ã®çµ±äžã«ãŒã«ãäœæãããšãã«åœ¹ç«ã¡ãŸãã ããã§ã®ã¢ã¹ã¿ãªã¹ã¯ã*ãã¯ã¯ã€ã«ãã«ãŒãã®åœ¹å²ãæãããŸãã
ããã§ã 90-custom-keyboard.hwdb
ãã¡ã€ã«ã/etc/udev/hwdb.d/
ã«æ¬¡ã®å
容ã§äœæããå¿
èŠããããŸãïŒãµã³ãã«ã«ã€ããŠã¯/usr/lib/udev/hwdb.d/60-keyboard.hwdb
åç
§ããŠãã ããïŒã
evdev:input:b0003v5c0ap0003e0110* # KEYBOARD_KEY_70039=f14 #
è¡KEYBOARD_KEYã¯ã¹ããŒã¹ã§å§ãŸããŸããããã¯éèŠã§ãã æ§æãæŽæ°ããŸãã
sudo udevadm hwdb
ãã®åŸãããã€ã¹ãåèµ·åãŸãã¯åæ¥ç¶ãããšãæ§æãèªåçã«æŽæ°ãããŸãã
ããŒã®åå²ãåœãŠã¯ã KEYBOARD_KEY_<scancode>=<keycode>
ãã¢ã§å®çŸ©ãããŸãã ããŒã³ãŒãå€ïŒå°æåã§å¿
èŠïŒã¯/usr/include/linux/input-event-codes.h
14.04ã®å Žå/usr/include/linux/input.h
ïŒã«ãããŸãã
evtestããã°ã©ã ã䜿çšããŠã¹ãã£ã³ã³ãŒããååŸã§ããŸãã ãŸããeventXXçªå·ãç¹å®ããå¿
èŠããããŸãããããè¡ãã«ã¯ãã³ãã³ããå®è¡ããŠããŒããŒããèŠã€ããŸãã
> ls -l /dev/input/by-id/ ⊠usb-SEM_USB_Keyboard-event-if01 -> ../event11 usb-SEM_USB_Keyboard-event-kbd -> ../event10 âŠ
ãKeyboard-event-kbdããéžæããç®çã®çªå·ïŒãã®äŸã§ã¯10ïŒãèŠã€ããŸãã ããã§ãevtestã䜿çšã§ããŸãã
> sudo evtest /dev/input/event10 ⊠Event: time 1531562530.720076, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70039 âŠ
ãCapsLockãããŒãæŒããšãã³ãŒãã¯ã70039ãã«ãªããŸã-ãããç®çã®ã¹ãã£ã³ã³ãŒãã§ãã