• You are not logged in.

    Work woes! Desperate for ideas.

    • Started by wussboy
    • 13 Replies:
    • Reputation: 0
    • Registered: 12-Nov-2007
    • Posts: 29

    Hey everyone.  I've been exclusively on Colemak for several years now, and I've just hit some colossal snags at my new job.

    At my work, they forbid me from installing either the Colemak driver or from using the AHK script.  Basically, there's no way they'll let me use software they have not specifically approved, as it's clearly a security risk and they don't want to "do regression tests on all our systems".  Let's ignore the ridiculousness of this statement and the fact we're still using IE6 and I have administrator access on my computer.

    So I'm doomed to using Qwerty.

    Does any one have any ideas about how I can type again in my beloved Colemak?  Does someone make a physical keyboard I can buy that is wired appropriately?

    I'm desperate for ideas.  I'm trying to pursue the "Health and Wellness" aspect, but they want a note from a doctor.

    Any help is appreciated.

    Kind regards,
    wussboy

    Offline
    • 0
    • Shai
    • Administrator
    • Reputation: 36
    • Registered: 11-Dec-2005
    • Posts: 423

    I've been contacted from TypeMatrix a couple of months back regarding a TypeMatrix keyboard with built-in Colemak support and skin. I'm not sure where it stands at the moment though.

    Try contacting Henry Webber from TypeMatrix, henry{at}typematrix.com for an update.

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,366

    What we need is a QIDO-type adapter. There's been talk but nothing's been made so far. I've toyed with the idea of learning microcontroller programming for this purpose...

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 24-May-2008
    • Posts: 23

    A kinesis contour can be programmed 'on bios' to run colemak. I have no idea why other keyboards don't offer this functionality. It's definitely a good solution: colemak anywhere you go, no install.

    Offline
    • 0
    • Reputation: 2
    • From: Houston, Texas
    • Registered: 03-Jan-2007
    • Posts: 358

    "we're still using IE6 and I have administrator access"

    thanks for the good laugh!

    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Sep-2009
    • Posts: 17
    DreymaR said:

    What we need is a QIDO-type adapter. There's been talk but nothing's been made so far. I've toyed with the idea of learning microcontroller programming for this purpose...

    I know microcontroller programming programming : ) ! Unfortunately I don't really know microcontroller programming : ( .

    Last edited by RevRal (20-Oct-2009 10:24:02)
    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,366

    I know so little about microcontroller programming that that last statement made no sense to me. Huh?

    I take it you couldn't convince an Atmel chip of choice into converting keyboard scan codes to other scan codes, then?

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 27-Apr-2008
    • Posts: 166

    wussboy: I'd continue to push the health and safety angle, complain that you experienced pain when using QWERTY which is why you switched. It may be an idea to be very slow until you get your own way...

    Or, if you've got the balls, simply refuse to type QWERTY.

    Good luck.

    Last edited by simonh (21-Oct-2009 10:30:45)

    "It is an undoubted truth, that the less one has to do, the less time one finds to do it in." - Earl of Chesterfield

    Offline
    • 0
    • Reputation: 0
    • Registered: 12-Nov-2007
    • Posts: 29

    Thanks for the advice, everyone.

    Shai, I think I will contact Henry Webber as you suggested.  I'll keep you all posted as to what happens!

    Kind regards,
    wussboy

    Offline
    • 0
    • Reputation: 0
    • Registered: 03-Jul-2009
    • Posts: 189

    Install Microsoft Keyboard Layout Creator on your home PC. Export Colemak layout as source file (*.klc). Install MKLC on your PC at work (setup is signed by Microsoft, therefore trustable). Compile and install the layout. Run a registry script to have Caps Lock remapped. Done.

    Cannot install MKLC? Remap keys using registry remapping, export *.reg script, run it at work (warning: you won't be able to switch layouts then). Done.

    Good luck!

    Last edited by spremino (24-Oct-2009 14:29:31)

    Dvorak typist here.  Please take my comments with a grain of salt.

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,366

    You can registry remap by-user, so other users of the same computer won't hate you.

    Here's my script as an example:

    REGEDIT4 
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] 
    ;"Scancode Map"=-
    
    [HKEY_CURRENT_USER\Keyboard Layout]
    ; The next line maps RWin <- CapsLock <- BackSpace
    "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,0e,00,3a,00,3a,00,5c,e0,00,00,00,00
    ; The next line remaps only CapsLock <- BackSpace
    ;"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,0e,00,3a,00,00,00,00,00
    ; The next line removes all scancode remappings
    "Scancode Map"=-
    
    ; Numbers are LittleEndian (0x12345678 -> 78,56,34,12)
    ; ---------------------------------------------------------------------
    ; Bytes          Meaning
    ; ---------------------------------------------------------------------
    ; 00 00 00 00    Version info (usually zero)
    ; 00 00 00 00    Flags (usually zero)
    ; 03 00 00 00    # of entries (# of mappings +1 for the terminator)
    ; 0e 00 3a 00    The CapsLock(3a) key now sends a BackSpace(0e) scancode
    ; 3a 00 5c e0    The RWin(e05c)   key now sends a CapsLock(3a)  scancode
    ; 00 00 00 00    Null terminator (always zero)

    That one 'demaps' the global registry mappings and you can choose a few options by-user (removing and adding semicolons in front of the lines). The line with only a '-' mapping is what you'd use to remove your mappings again, if needed.

    Just put the code in a file, call it something.reg and run it to implement the registry mappings.

    Last edited by DreymaR (26-Oct-2009 08:57:30)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Sep-2009
    • Posts: 17
    DreymaR said:

    I know so little about microcontroller programming that that last statement made no sense to me. Huh?

    I take it you couldn't convince an Atmel chip of choice into converting keyboard scan codes to other scan codes, then?

    Sorry. I wouldn't feel comfortable helping on it, since it was mostly a brief high school love affair. I am well practiced with Python and other languages; and, I'd like to see Colemak continue to grow since I like it so much. So, hopefully sometime in the future I can help with something else when I get some time freed up.

    *E: I'm still trying to find time to optimize Colemak for Vim. I'm glad other people already worked it out.

    Last edited by RevRal (02-Nov-2009 14:11:01)
    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,366

    I've done a lot on my colemak.vim and finishing off that project is also on my todo-list. It's all coming together with the PKL 'extend' mode.

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 17-Mar-2008
    • Posts: 192

    Here's the keyboard remap part of my colemak .vimrc. It differs a bit from the official one, and I use a slightly different one for ViEmu.

    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "
    " Keyboard maps
    "
    
    
    " Q
    nnoremap q q|       " Record macro
    nnoremap Q @q|      " Macros (replay the macro recorded by qq)
    
    " W
    nnoremap w "_c|     " Change  
    vnoremap w "_c
    nnoremap W "_C|     " Change until end of line  
    onoremap w iw|      " inner word
    
    " F
    nnoremap f f|       " Find next char on line
    onoremap f f|        
    
    " P
    noremap p ;|        " Repeat last f, t
    noremap P ,
    
    " G
    nnoremap g g|       " Go to
    
    " ----------------------------------------------
    
    " A
    nnoremap a V|       " Visual line mode
    nnoremap A viw|     " Visual mode with word preselected
    
    " R
    nnoremap r r|       " Replace
    
    " S
    nnoremap s i|       " Insert mode
    nnoremap S I|       " Insert at beginning of line
    vnoremap s gS|  " Selection to visual studio selection
    
    " T
    nnoremap t a|       " Append
    nnoremap T A|       " Append to end of line
    
    " D
    nnoremap d d|       " Delete
    
    " ----------------------------------------------
    
    " Z
    nnoremap z u|       " Undo
    nnoremap Z <C-r>|   " Redo   
    nnoremap <C-z> u
    
    " X
    nnoremap x "_x|     " Delete char into black hole  
    vnoremap x <esc>`.``gvP``P|             " Swap selection for deletion
    nnoremap <C-x> "*dd|" Cut into clipboard       
    
    " C
    nnoremap c y|       " Copy
    onoremap c y
    vnoremap c y
    nnoremap C y$
    nnoremap <C-c> "*Y| " Copy into clipboard      
    cnoremap <C-c> <C-y>
    
    " V
    nnoremap v ]p|       " Paste
    nnoremap V [P
    vnoremap v p
    vnoremap V P
    nnoremap <C-v> "*p| " Paste into clipboard      
    inoremap <C-v> <esc>]pa
    cnoremap <C-v> <C-r>
    
    " B
    onoremap B iB|      " By default use inner brace matching
    nnoremap b %|       " Match brace
    onoremap b %
    
    
    " ----------------------------------------------
    " ----------------------------------------------
    
    " J
    nnoremap j :call SwapParams("forwards")<cr>
    vnoremap j <esc>`.``gvP``P|             " Swap selection for deletion
    
    " L
    noremap l b|       " Word left 
    noremap L zk
    nnoremap + zr|     " Open more folds
    
    " U
    nnoremap u k|       " Up 
    vnoremap u k
    nnoremap U 5k|      " 5*Up   
    vnoremap U 5k
    inoremap <c-u> <esc>bgUeea|    " Make last word uppercase
    vnoremap <c-u> U|              " Make uppercase
    
    " Y
    noremap y w|       " Word right 
    noremap Y zj
    vnoremap y e|      " Forward until end of word
    
    " ----------------------------------------------
    
    " H
    nnoremap h za|     " Toggle fold
    nnoremap H zR|     " Turn off all folds
    nnoremap <c-h> zt| " Scroll cursor to top (minus scrolloff)
    
    " N
    nnoremap n h|      " Left  
    vnoremap n h
    noremap N ^|       " Start of line 
    inoremap <C-n> <C-p>| " Word completion
    
    " E
    nnoremap e j|      " Down  
    vnoremap e j
    nnoremap E 5j|     " 5*Down   
    vnoremap E 5j 
    
    " I
    nnoremap i l|      " Right  
    vnoremap i l
    noremap I $|       " End of line 
    
    " Indentation text motion
    omap ii iB
    omap ai aB
    
    " O
    nnoremap o o|      " Open new line  
    
    " '
    
    " ----------------------------------------------
    
    " K
    nnoremap k n|      " Search next  
    nnoremap K N|      " Search prev  
    
    " M
    noremap m /|      " Search
    noremap M ?|      " Search backward  
    nnoremap - zm|     " Close more folds
    
    " ,
    let mapleader = ","
    let g:mapleader = ","
    
    
    " .
    nnoremap . .|      " Repeat command  
    
    " ----------------------------------------------
    " ----------------------------------------------
    
    " Backspace
    inoremap <C-BS> <C-w>|  " Insert mode delete word backwards
    
    " Space
    nnoremap <space> <c-d>|       " Page down
    nnoremap <s-space> <c-u>|     " Page up
    
    " Esc
    nnoremap <Esc> <Esc>:nohlsearch<bar>pclose<CR>
    
    " Return
    nnoremap <CR> i<CR><Esc>
    
    " Tab (in insert mode we complete with tab)
    nnoremap <tab> ==
    vnoremap <tab> =
    Offline
    • 0