키보드의 양쪽을 사용하는 방법을 배웁니다


11

입력하는 문자에 따라 올바른 (오른쪽 또는 왼쪽) Shift, Ctrl 및 Alt 키를 사용하도록하고 싶습니다. 예를 들어 'A'를 입력하면 오른쪽 Shift 키를 사용하고 'P'를 입력하면 왼쪽 Shift 키를 사용하고 싶습니다. 왼쪽 만 많이 사용하고 올바른 페어링에만 응답하도록 내 컴퓨터에서 매핑을 설정하는 방법을 찾고 있습니다. Fedora를 사용하고 있지만 Linux 배포판 지원은 받아 들일만한 답변입니다.


> 나는 왼쪽 만 많이 사용한다는 것을 알았습니다. 나는 거의 독점적으로 오른쪽 Shift키를 사용합니다.이 키는 불쌍한 새끼 손가락에 불과합니다 (그리고 그것이 너무 문제가되는 이유 일 수 있습니다). :-(실제로, 내가 Shift입력하는 데 사용하는 매크로 프로그램이 오른쪽 문자에 응답하지 않기 때문에 왼쪽 키를 사용하여 특수 / 악센트 문자를 입력 하는 것으로 나타났습니다 .
Synetech

1
NumLock (또는 Windows / Super 키)없이 할 수 있다면 xmodmap을 사용하여 올바른 Shift, Ctrl 및 Alt 키를 mod2, 3 및 5로 다시 매핑 할 수 있다고 생각합니다. 키맵을 변경하여 LShift-Q가 NoSymbol로 매핑되고 RShift-Q가 Q로 매핑됩니다.
Dr Kitty

나는 그 반대를 막아서 자신을 강요하려고하는 이점을 보지 못한다. 오히려, 나는 전기 테이프를 가지고 모든 열쇠를 덮어서 물건이 아닌 느낌에 의해 배우는 것이 좋습니다. 나머지는 당신에게 그리고 당신의 두뇌가 어떻게 다시 연결되는지에 올 것입니다. 옳은 일을 점점 더 적게하는 것에 대해 생각할 것입니다. 나는 당신이 그들을 누르는 키의 반대쪽에있는 Ctrl과 Alt 키가 들어가기 시작한다고 생각하지 않습니다. 예를 들어 Ctrl + T는 많은 숙련 된 프로그래머가 왼손으로 완전히 수행합니다.
Warren P

@WarrenP 인체 공학적 이점이있을 것입니다. Ctrl + T에 왼손 만 사용하면 아파요! 내 새끼 손가락은 먼 길을 구부려 야합니다. 해당 인스턴스에서 올바른 Ctrl 키를 사용하면 스트레스를 덜받습니다. 나는보고 아무것도하지 않습니다, 그래서 나는 전기 테이프가 도움이 될 것이라고 생각하지 않습니다. 나는 훈련 된 훈련을 통해 옳은 일을하도록 스스로 훈련 할 수 있다는 데 동의하지만, 훈련 메커니즘을 기대하고 있었고 그것이 가능해야한다고 생각합니다.
brewerja

@TheElectricMuffin 정확히 내가 도움을 찾고있는 것입니다. 랩톱 에서이 작업을 수행하고 싶습니다 .NumLock 키가 없으며 Fedora의 축소 기능에 Windows 키를 사용하고 싶습니다.
brewerja

답변:


4

@ DrKitty의 제안 과이 Ask Ubuntu 답변 은 올바른 방향으로 나에게 지적했습니다. Xmodmap을 사용하면 부분 솔루션이 있습니다!

작동 원리 : 키보드의 주요 부분에있는 모든 문자, 숫자 및 기호에는 '올바른'Shift 키를 사용해야합니다. 잘못된 Shift 키를 사용하면 화면에 아무것도 표시되지 않습니다.

하지 말아야 할 것 : CAPS가 켜져 있으면 오른쪽 키 (Y, U, I 등) 만 나타납니다. 왼손 키는 화면에 아무것도 넣지 않습니다.

아마도 불가능한 것 : 올바른 Ctrl 및 Alt 키를 강제로 사용하면 Xmodmap에 대해 아는 것이 불가능합니다. 다른 방법이 있을까요?

다음은 내 ~ / .Xmodmap이며, Ubuntu 및 Fedora에서 로그인시 올바르게로드됩니다.

clear shift
clear lock
clear control
clear mod1
clear mod2
clear mod3
clear mod4
clear mod5

keycode   8 =
keycode   9 = Escape NoSymbol Escape
keycode  10 = 1 VoidSymbol exclam VoidSymbol
keycode  11 = 2 VoidSymbol at VoidSymbol
keycode  12 = 3 VoidSymbol numbersign VoidSymbol
keycode  13 = 4 VoidSymbol dollar VoidSymbol
keycode  14 = 5 VoidSymbol percent VoidSymbol
keycode  15 = 6 VoidSymbol asciicircum VoidSymbol
keycode  16 = 7 ampersand VoidSymbol VoidSymbol
keycode  17 = 8 asterisk VoidSymbol VoidSymbol
keycode  18 = 9 parenleft VoidSymbol VoidSymbol
keycode  19 = 0 parenright VoidSymbol VoidSymbol
keycode  20 = minus underscore VoidSymbol VoidSymbol
keycode  21 = equal plus VoidSymbol VoidSymbol
keycode  22 = BackSpace BackSpace BackSpace BackSpace
keycode  23 = Tab ISO_Left_Tab Tab ISO_Left_Tab
keycode  24 = q VoidSymbol Q VoidSymbol
keycode  25 = w VoidSymbol W VoidSymbol
keycode  26 = e VoidSymbol E VoidSymbol
keycode  27 = r VoidSymbol R VoidSymbol
keycode  28 = t VoidSymbol T VoidSymbol
keycode  29 = y Y VoidSymbol VoidSymbol
keycode  30 = u U VoidSymbol VoidSymbol
keycode  31 = i I VoidSymbol VoidSymbol
keycode  32 = o O VoidSymbol VoidSymbol
keycode  33 = p P VoidSymbol VoidSymbol
keycode  34 = bracketleft braceleft VoidSymbol VoidSymbol
keycode  35 = bracketright braceright VoidSymbol VoidSymbol
keycode  36 = Return NoSymbol Return
keycode  37 = Control_L NoSymbol Control_L
keycode  38 = a VoidSymbol A VoidSymbol
keycode  39 = s VoidSymbol S VoidSymbol
keycode  40 = d VoidSymbol D VoidSymbol
keycode  41 = f VoidSymbol F VoidSymbol
keycode  42 = g VoidSymbol G VoidSymbol
keycode  43 = h H VoidSymbol VoidSymbol
keycode  44 = j J VoidSymbol VoidSymbol
keycode  45 = k K VoidSymbol VoidSymbol
keycode  46 = l L VoidSymbol VoidSymbol
keycode  47 = semicolon colon VoidSymbol VoidSymbol
keycode  48 = apostrophe quotedbl VoidSymbol VoidSymbol
keycode  49 = grave VoidSymbol asciitilde VoidSymbol
keycode  50 = Shift_L NoSymbol Shift_L
keycode  51 = backslash bar VoidSymbol VoidSymbol
keycode  52 = z VoidSymbol Z VoidSymbol
keycode  53 = x VoidSymbol X VoidSymbol
keycode  54 = c VoidSymbol C VoidSymbol
keycode  55 = v VoidSymbol V VoidSymbol
keycode  56 = b VoidSymbol B VoidSymbol
keycode  57 = n N VoidSymbol VoidSymbol
keycode  58 = m M VoidSymbol VoidSymbol
keycode  59 = comma less VoidSymbol VoidSymbol
keycode  60 = period greater VoidSymbol VoidSymbol
keycode  61 = slash question VoidSymbol VoidSymbol
keycode  62 = Shift_R NoSymbol Shift_R
keycode  63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab
keycode  64 = Alt_L Meta_L Alt_L Meta_L
keycode  65 = space NoSymbol space
keycode  66 = Caps_Lock NoSymbol Caps_Lock
keycode  67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1
keycode  68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2
keycode  69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3
keycode  70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4
keycode  71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5
keycode  72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6
keycode  73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7
keycode  74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8
keycode  75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9
keycode  76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10
keycode  77 = Num_Lock NoSymbol Num_Lock
keycode  78 = Scroll_Lock NoSymbol Scroll_Lock
keycode  79 = KP_Home KP_7 KP_Home KP_7
keycode  80 = KP_Up KP_8 KP_Up KP_8
keycode  81 = KP_Prior KP_9 KP_Prior KP_9
keycode  82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode
keycode  83 = KP_Left KP_4 KP_Left KP_4
keycode  84 = KP_Begin KP_5 KP_Begin KP_5
keycode  85 = KP_Right KP_6 KP_Right KP_6
keycode  86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode
keycode  87 = KP_End KP_1 KP_End KP_1
keycode  88 = KP_Down KP_2 KP_Down KP_2
keycode  89 = KP_Next KP_3 KP_Next KP_3
keycode  90 = KP_Insert KP_0 KP_Insert KP_0
keycode  91 = KP_Delete KP_Decimal KP_Delete KP_Decimal
keycode  92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift
keycode  93 =
keycode  94 = less greater less greater bar brokenbar bar
keycode  95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11
keycode  96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12
keycode  97 =
keycode  98 = Katakana NoSymbol Katakana
keycode  99 = Hiragana NoSymbol Hiragana
keycode 100 = Henkan_Mode NoSymbol Henkan_Mode
keycode 101 = Hiragana_Katakana NoSymbol Hiragana_Katakana
keycode 102 = Muhenkan NoSymbol Muhenkan
keycode 103 =
keycode 104 = KP_Enter NoSymbol KP_Enter
keycode 105 = Control_R NoSymbol Control_R
keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab
keycode 107 = Print Sys_Req Print Sys_Req
keycode 108 = Alt_R Meta_R Alt_R Meta_R
keycode 109 = Linefeed NoSymbol Linefeed
keycode 110 = Home NoSymbol Home
keycode 111 = Up NoSymbol Up
keycode 112 = Prior NoSymbol Prior
keycode 113 = Left NoSymbol Left
keycode 114 = Right NoSymbol Right
keycode 115 = End NoSymbol End
keycode 116 = Down NoSymbol Down
keycode 117 = Next NoSymbol Next
keycode 118 = Insert NoSymbol Insert
keycode 119 = Delete NoSymbol Delete
keycode 120 =
keycode 121 = XF86AudioMute NoSymbol XF86AudioMute
keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume
keycode 124 = XF86PowerOff NoSymbol XF86PowerOff
keycode 125 = KP_Equal NoSymbol KP_Equal
keycode 126 = plusminus NoSymbol plusminus
keycode 127 = Pause Break Pause Break
keycode 128 = XF86LaunchA NoSymbol XF86LaunchA
keycode 129 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal
keycode 130 = Hangul NoSymbol Hangul
keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja
keycode 132 =
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
keycode 135 = Menu NoSymbol Menu
keycode 136 = Cancel NoSymbol Cancel
keycode 137 = Redo NoSymbol Redo
keycode 138 = SunProps NoSymbol SunProps
keycode 139 = Undo NoSymbol Undo
keycode 140 = SunFront NoSymbol SunFront
keycode 141 = XF86Copy NoSymbol XF86Copy
keycode 142 = SunOpen NoSymbol SunOpen
keycode 143 = XF86Paste NoSymbol XF86Paste
keycode 144 = Find NoSymbol Find
keycode 145 = XF86Cut NoSymbol XF86Cut
keycode 146 = Help NoSymbol Help
keycode 147 = XF86MenuKB NoSymbol XF86MenuKB
keycode 148 = XF86Calculator NoSymbol XF86Calculator
keycode 149 =
keycode 150 = XF86Sleep NoSymbol XF86Sleep
keycode 151 = XF86WakeUp NoSymbol XF86WakeUp
keycode 152 = XF86Explorer NoSymbol XF86Explorer
keycode 153 = XF86Send NoSymbol XF86Send
keycode 154 =
keycode 155 = XF86Xfer NoSymbol XF86Xfer
keycode 156 = XF86Launch1 NoSymbol XF86Launch1
keycode 157 = XF86Launch2 NoSymbol XF86Launch2
keycode 158 = XF86WWW NoSymbol XF86WWW
keycode 159 = XF86DOS NoSymbol XF86DOS
keycode 160 = XF86ScreenSaver NoSymbol XF86ScreenSaver
keycode 161 =
keycode 162 = XF86RotateWindows NoSymbol XF86RotateWindows
keycode 163 = XF86Mail NoSymbol XF86Mail
keycode 164 = XF86Favorites NoSymbol XF86Favorites
keycode 165 = XF86MyComputer NoSymbol XF86MyComputer
keycode 166 = XF86Back NoSymbol XF86Back
keycode 167 = XF86Forward NoSymbol XF86Forward
keycode 168 =
keycode 169 = XF86Eject NoSymbol XF86Eject
keycode 170 = XF86Eject XF86Eject XF86Eject XF86Eject
keycode 171 = XF86AudioNext NoSymbol XF86AudioNext
keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause
keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev
keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject
keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord
keycode 176 = XF86AudioRewind NoSymbol XF86AudioRewind
keycode 177 = XF86Phone NoSymbol XF86Phone
keycode 178 =
keycode 179 = XF86Tools NoSymbol XF86Tools
keycode 180 = XF86HomePage NoSymbol XF86HomePage
keycode 181 = XF86Reload NoSymbol XF86Reload
keycode 182 = XF86Close NoSymbol XF86Close
keycode 183 =
keycode 184 =
keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp
keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown
keycode 187 = parenleft NoSymbol parenleft
keycode 188 = parenright NoSymbol parenright
keycode 189 = XF86New NoSymbol XF86New
keycode 190 = Redo NoSymbol Redo
keycode 191 = XF86Tools NoSymbol XF86Tools
keycode 192 = XF86Launch5 NoSymbol XF86Launch5
keycode 193 = XF86Launch6 NoSymbol XF86Launch6
keycode 194 = XF86Launch7 NoSymbol XF86Launch7
keycode 195 = XF86Launch8 NoSymbol XF86Launch8
keycode 196 = XF86Launch9 NoSymbol XF86Launch9
keycode 197 =
keycode 198 =
keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle
keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn
keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff
keycode 202 =
keycode 203 = Mode_switch NoSymbol Mode_switch
keycode 204 = NoSymbol Alt_L NoSymbol Alt_L
keycode 205 = NoSymbol Meta_L NoSymbol Meta_L
keycode 206 = NoSymbol Super_L NoSymbol Super_L
keycode 207 = NoSymbol Hyper_L NoSymbol Hyper_L
keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay
keycode 209 = XF86AudioPause NoSymbol XF86AudioPause
keycode 210 = XF86Launch3 NoSymbol XF86Launch3
keycode 211 = XF86Launch4 NoSymbol XF86Launch4
keycode 212 = XF86LaunchB NoSymbol XF86LaunchB
keycode 213 = XF86Suspend NoSymbol XF86Suspend
keycode 214 = XF86Close NoSymbol XF86Close
keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay
keycode 216 = XF86AudioForward NoSymbol XF86AudioForward
keycode 217 =
keycode 218 = Print NoSymbol Print
keycode 219 =
keycode 220 = XF86WebCam NoSymbol XF86WebCam
keycode 221 =
keycode 222 =
keycode 223 = XF86Mail NoSymbol XF86Mail
keycode 224 = XF86Messenger NoSymbol XF86Messenger
keycode 225 = XF86Search NoSymbol XF86Search
keycode 226 = XF86Go NoSymbol XF86Go
keycode 227 = XF86Finance NoSymbol XF86Finance
keycode 228 = XF86Game NoSymbol XF86Game
keycode 229 = XF86Shop NoSymbol XF86Shop
keycode 230 =
keycode 231 = Cancel NoSymbol Cancel
keycode 232 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown
keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp
keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia
keycode 235 = XF86Display NoSymbol XF86Display
keycode 236 = XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff
keycode 237 = XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown
keycode 238 = XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp
keycode 239 = XF86Send NoSymbol XF86Send
keycode 240 = XF86Reply NoSymbol XF86Reply
keycode 241 = XF86MailForward NoSymbol XF86MailForward
keycode 242 = XF86Save NoSymbol XF86Save
keycode 243 = XF86Documents NoSymbol XF86Documents
keycode 244 = XF86Battery NoSymbol XF86Battery
keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth
keycode 246 = XF86WLAN NoSymbol XF86WLAN
keycode 247 =
keycode 248 =
keycode 249 =
keycode 250 =
keycode 251 =
keycode 252 =
keycode 253 =
keycode 254 =
keycode 255 =

add lock  =      Caps_Lock
add control =    Control_L Control_R
add mod1    =    Alt_L Alt_R Meta_L
add mod2    =    Num_Lock
add mod3    =    Mode_switch
add mod4    =    Super_L Super_R Super_L Hyper_L
add mod5    =    ISO_Level3_Shift

keysym Shift_R = Mode_switch

수정 xmodmap ~/.Xmodmap하는 경우 keysym Shift_R = Mode_switch행을 제거한 상태에서 동일한 명령을 먼저 실행 한 후에 만 실행이 작동합니다 .


3

죽은 자의 타이핑 (Typing of the Dead)이라는 게임이 있습니다.이 게임은 재미있는 방법으로 10 개의 손가락과 올바른 Shift 키로 글을 쓰도록 훈련시킵니다. http://en.wikipedia.org/wiki/The_Typing_of_the_Dead


창의적인 답변을 얻으려면 +1 나는 실제로 게이머가 아니지만 재미 있고 재미있을 정도로 기발한 것처럼 보입니다.
brewerja

1

OS X를 사용하는 경우 Karabiner를 사용하여 사용자 지정 다시 매핑을 만들 수 있습니다. SHIFT_L + A 등을 무시하도록 설정했습니다 . 여기에 유용한 설정 이 있습니다.

<?xml version="1.0" ?>
<root>
    <item>
        <name>Ignore wrong shift usage</name>
        <identifier>private.ignore_wrong_shift_usage</identifier>
        <autogen>__KeyToKey__ KeyCode::A, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::B, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::C, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::E, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::F, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::Q, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::R, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::S, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::V, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::W, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::X, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::J, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::K, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::L, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::M, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::N, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::O, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::P, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::U, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::Y, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
        <autogen>__KeyToKey__ KeyCode::Z, ModifierFlag::SHIFT_R, KeyCode::SPACE</autogen>
    </item>
</root>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.