Notices: This section not yet converted to new layout. Download stats are rolling back out.




Downloads of v 1.1


Last update

This is not the latest version of colemak (Install) available.

colemak (Install)


Package test results have failed.

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

This package was approved by moderator doc on 1/1/2016.

Colemak keyboard layout

Colemak is a modern alternative to the QWERTY and Dvorak layouts. It is designed for efficient and ergonomic touch typing in English.

Caps Lock remapping

This installer will remap Caps Lock to Backspace as originally designed by Shai Coleman.

Installing to CO locale

By default the layout will be installed to locale English(US), variant Colemak. Some people prefer to abuse Corsican locale because the appriviation fits nicely and it is easier to switch between locales than variants. If you want install to Corsican locale, use package parameter "locale=co" e.g.

choco install colemak -params locale=co


Original layout was designed by Shai Coleman.

The Windows installer to support Caps Lock remapping and Corsican locale was developed by Vasil Zlatanov. More information about this installer:

To install colemak (Install), run the following command from the command line or from PowerShell:

C:\> choco install colemak --version 1.1

To upgrade colemak (Install), run the following command from the command line or from PowerShell:

C:\> choco upgrade colemak --version 1.1


  • tools\chocolateyinstall.ps1 Show
    $ErrorActionPreference = 'Stop';
    $packageName= 'colemak'
    $toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    $url        = ''
    $locale = 'EN'
    if ($env:chocolateyPackageParameters -match "locale=co") {
        $locale = 'CO'
    $arch = 'i386'
    if (Get-ProcessorBits 64) {
        $arch = 'amd64'
    $fileLocation = Join-Path $toolsDir "colemak ($locale)/Colemak_$arch.msi"
    $packageArgs = @{
      packageName   = $packageName
      unzipLocation = $toolsDir
      fileType      = 'msi'
      url           = $url
      file          = $fileLocation
      silentArgs    = "/qn /norestart /l*v `"$env:TEMP\chocolatey\$($packageName)\$($packageName).MsiInstall.log`" ALLUSERS=1" 
      validExitCodes= @(0, 3010, 1641)
      softwareName  = 'colemak*'
      checksum      = '08fa83e36dbb2c64cc58210330eda72d'
      checksumType  = 'md5'
    Install-ChocolateyZipPackage @packageArgs
    Get-ChildItem -recurse $toolsDir -filter setup.exe | foreach {
        $ignoreFile = $_.FullName + '.ignore'
        Set-Content -Path $ignoreFile -Value ($null)
    Install-ChocolateyInstallPackage @packageArgs 
  • tools\chocolateyuninstall.ps1 Show
    $ErrorActionPreference = 'Stop';
    $packageName = 'colemak'
    $softwareName = 'colemak*'
    $installerType = 'MSI' 
    $silentArgs = '/qn /norestart'
    $validExitCodes = @(0, 3010, 1605, 1614, 1641)
    if ($installerType -ne 'MSI') {
      $validExitCodes = @(0)
    $uninstalled = $false
    $local_key     = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'
    $machine_key   = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
    $machine_key6432 = 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
    $key = Get-ItemProperty -Path @($machine_key6432,$machine_key, $local_key) `
                            -ErrorAction SilentlyContinue `
             | ? { $_.DisplayName -like "$softwareName" }
    if ($key.Count -eq 1) {
      $key | % { 
        $file = "$($_.UninstallString)"
        if ($installerType -eq 'MSI') {
          $silentArgs = "$($_.PSChildName) $silentArgs"
          $file = ''
        Uninstall-ChocolateyPackage -PackageName $packageName `
                                    -FileType $installerType `
                                    -SilentArgs "$silentArgs" `
                                    -ValidExitCodes $validExitCodes `
                                    -File "$file"
    } elseif ($key.Count -eq 0) {
      Write-Warning "$packageName has already been uninstalled by other means."
    } elseif ($key.Count -gt 1) {
      Write-Warning "$key.Count matches found!"
      Write-Warning "To prevent accidental data loss, no programs will be uninstalled."
      Write-Warning "Please alert package maintainer the following keys were matched:"
      $key | % {Write-Warning "- $_.DisplayName"}

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.


This package has no dependencies.

Package Maintainer(s)

Software Author(s)

  • Shai Coleman
  • Vasil Zlatanov


Shai Coleman, Vasil Zlatanov


Version History

Version Downloads Last updated Status
colemak (Install) 1.1 1024 Friday, November 13, 2015 approved

Discussion for the colemak (Install) Package

Ground rules:

  • This discussion is only about colemak (Install) and the colemak (Install) package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or colemak (Install), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus uses cookies to enhance the user experience of the site.