Skip to content

Commit

Permalink
Send hotkeys for function layer usage
Browse files Browse the repository at this point in the history
When a function layer key is pressed or released, a unique hotkey is
sent allowing the function layer usage to be observed from the host
computer.
  • Loading branch information
Andrew-Hanlon committed Jul 7, 2016
1 parent 60f26ea commit f939d4c
Show file tree
Hide file tree
Showing 5 changed files with 2,538 additions and 832 deletions.
22 changes: 11 additions & 11 deletions firmware/firmware.componentinfo.xml
Expand Up @@ -15,7 +15,7 @@
<Description></Description>
<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\include</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.106\include</AbsolutePath>
<Attribute></Attribute>
<Category>include</Category>
<Condition>C</Condition>
Expand All @@ -26,18 +26,18 @@
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\include\avr\iom32u4.h</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.106\include\avr\iom32u2.h</AbsolutePath>
<Attribute></Attribute>
<Category>header</Category>
<Condition>C</Condition>
<FileContentHash>BQ9Xxsl2ol66M7jIU1Up8Q==</FileContentHash>
<FileContentHash>TWzZHhxeuyQFTY98RMEaeQ==</FileContentHash>
<FileVersion></FileVersion>
<Name>include/avr/iom32u4.h</Name>
<Name>include/avr/iom32u2.h</Name>
<SelectString></SelectString>
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\templates\main.c</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.106\templates\main.c</AbsolutePath>
<Attribute>template</Attribute>
<Category>source</Category>
<Condition>C Exe</Condition>
Expand All @@ -48,7 +48,7 @@
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\templates\main.cpp</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.106\templates\main.cpp</AbsolutePath>
<Attribute>template</Attribute>
<Category>source</Category>
<Condition>C Exe</Condition>
Expand All @@ -59,22 +59,22 @@
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32u4</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.106\gcc\dev\atmega32u2</AbsolutePath>
<Attribute></Attribute>
<Category>libraryPrefix</Category>
<Condition>GCC</Condition>
<FileContentHash i:nil="true" />
<FileVersion></FileVersion>
<Name>gcc/dev/atmega32u4</Name>
<Name>gcc/dev/atmega32u2</Name>
<SelectString></SelectString>
<SourcePath></SourcePath>
</d4p1:anyType>
</Files>
<PackName>ATmega_DFP</PackName>
<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/Atmel.ATmega_DFP.pdsc</PackPath>
<PackVersion>1.0.90</PackVersion>
<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.106/Atmel.ATmega_DFP.pdsc</PackPath>
<PackVersion>1.0.106</PackVersion>
<PresentInProject>true</PresentInProject>
<ReferenceConditionId>ATmega32U4</ReferenceConditionId>
<ReferenceConditionId>ATmega32U2</ReferenceConditionId>
<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string></d4p1:string>
</RteComponents>
Expand Down
245 changes: 124 additions & 121 deletions firmware/firmware.cproj
Expand Up @@ -5,7 +5,7 @@
<ProjectVersion>7.0</ProjectVersion>
<ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName>
<ProjectGuid>dce6c7e3-ee26-4d79-826b-08594b9ad897</ProjectGuid>
<avrdevice>ATmega32U4</avrdevice>
<avrdevice>ATmega32U2</avrdevice>
<avrdeviceseries>mega</avrdeviceseries>
<OutputType>Executable</OutputType>
<Language>C</Language>
Expand Down Expand Up @@ -181,135 +181,138 @@
</framework-data>
</AsfFrameworkConfig>
<avrtool />
<avrtoolinterface />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.Device>-mmcu=atmega32u4 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32u4"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
<Value>BOARD=USER_BOARD</Value>
<Value>USE_LUFA_CONFIG_HEADER</Value>
<Value>ARCH=ARCH_AVR8</Value>
<Value>F_CPU=16000000UL</Value>
<Value>F_USB=16000000UL</Value>
<Value>BOARD_SIZE_COSTAR</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>../common/applications/user_application/user_board/config</Value>
<Value>../src/config</Value>
<Value>../src/ASF/common/boards</Value>
<Value>../src/ASF/mega/utils</Value>
<Value>../src/ASF/common/utils</Value>
<Value>../src/ASF/mega/utils/preprocessor</Value>
<Value>../src</Value>
<Value>../src/ASF/common/boards/user_board</Value>
<Value>../src/LUFA/.</Value>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.OtherFlags>-fdata-sections</avrgcc.compiler.optimization.OtherFlags>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -fno-strict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -mrelax</avrgcc.compiler.miscellaneous.OtherFlags>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.linker.miscellaneous.LinkerFlags>-Wl,--relax</avrgcc.linker.miscellaneous.LinkerFlags>
<avrgcc.assembler.general.AssemblerFlags>-mrelax -DBOARD=USER_BOARD</avrgcc.assembler.general.AssemblerFlags>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>../common/applications/user_application/user_board/config</Value>
<Value>../src/config</Value>
<Value>../src/ASF/common/boards</Value>
<Value>../src/ASF/mega/utils</Value>
<Value>../src/ASF/common/utils</Value>
<Value>../src/ASF/mega/utils/preprocessor</Value>
<Value>../src</Value>
<Value>../src/ASF/common/boards/user_board</Value>
<Value>../src/LUFA/.</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
</AvrGcc>
<avrgcc.common.Device>-mmcu=atmega32u2 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.106\gcc\dev\atmega32u2"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
<Value>BOARD=USER_BOARD</Value>
<Value>USE_LUFA_CONFIG_HEADER</Value>
<Value>ARCH=ARCH_AVR8</Value>
<Value>F_CPU=16000000UL</Value>
<Value>F_USB=16000000UL</Value>
<Value>BOARD_SIZE_COSTAR</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>../common/applications/user_application/user_board/config</Value>
<Value>../src/config</Value>
<Value>../src/ASF/common/boards</Value>
<Value>../src/ASF/mega/utils</Value>
<Value>../src/ASF/common/utils</Value>
<Value>../src/ASF/mega/utils/preprocessor</Value>
<Value>../src</Value>
<Value>../src/ASF/common/boards/user_board</Value>
<Value>../src/LUFA/.</Value>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.0.106\include</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.OtherFlags>-fdata-sections</avrgcc.compiler.optimization.OtherFlags>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -fno-strict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -mrelax</avrgcc.compiler.miscellaneous.OtherFlags>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.linker.miscellaneous.LinkerFlags>-Wl,--relax</avrgcc.linker.miscellaneous.LinkerFlags>
<avrgcc.assembler.general.AssemblerFlags>-mrelax -DBOARD=USER_BOARD</avrgcc.assembler.general.AssemblerFlags>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>../common/applications/user_application/user_board/config</Value>
<Value>../src/config</Value>
<Value>../src/ASF/common/boards</Value>
<Value>../src/ASF/mega/utils</Value>
<Value>../src/ASF/common/utils</Value>
<Value>../src/ASF/mega/utils/preprocessor</Value>
<Value>../src</Value>
<Value>../src/ASF/common/boards/user_board</Value>
<Value>../src/LUFA/.</Value>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.0.106\include</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.Device>-mmcu=atmega32u4 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega32u4"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
<Value>BOARD=USER_BOARD</Value>
<Value>USE_LUFA_CONFIG_HEADER</Value>
<Value>ARCH=ARCH_AVR8</Value>
<Value>F_CPU=16000000UL</Value>
<Value>F_USB=16000000UL</Value>
<Value>BOARD_SIZE_TKL</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>../common/applications/user_application/user_board/config</Value>
<Value>../src/config</Value>
<Value>../src/ASF/common/boards</Value>
<Value>../src/ASF/mega/utils</Value>
<Value>../src/ASF/common/utils</Value>
<Value>../src/ASF/mega/utils/preprocessor</Value>
<Value>../src</Value>
<Value>../src/ASF/common/boards/user_board</Value>
<Value>../src/LUFA/.</Value>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.OtherFlags>-fdata-sections</avrgcc.compiler.optimization.OtherFlags>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Maximum (-g3)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -fno-strict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -mrelax</avrgcc.compiler.miscellaneous.OtherFlags>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.linker.miscellaneous.LinkerFlags>-Wl,--relax</avrgcc.linker.miscellaneous.LinkerFlags>
<avrgcc.assembler.general.AssemblerFlags>-mrelax -DBOARD=USER_BOARD</avrgcc.assembler.general.AssemblerFlags>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>../common/applications/user_application/user_board/config</Value>
<Value>../src/config</Value>
<Value>../src/ASF/common/boards</Value>
<Value>../src/ASF/mega/utils</Value>
<Value>../src/ASF/common/utils</Value>
<Value>../src/ASF/mega/utils/preprocessor</Value>
<Value>../src</Value>
<Value>../src/ASF/common/boards/user_board</Value>
<Value>../src/LUFA/.</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc>
<avrgcc.common.Device>-mmcu=atmega32u2 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.106\gcc\dev\atmega32u2"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
<Value>BOARD=USER_BOARD</Value>
<Value>USE_LUFA_CONFIG_HEADER</Value>
<Value>ARCH=ARCH_AVR8</Value>
<Value>F_CPU=16000000UL</Value>
<Value>F_USB=16000000UL</Value>
<Value>BOARD_SIZE_TKL</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>../common/applications/user_application/user_board/config</Value>
<Value>../src/config</Value>
<Value>../src/ASF/common/boards</Value>
<Value>../src/ASF/mega/utils</Value>
<Value>../src/ASF/common/utils</Value>
<Value>../src/ASF/mega/utils/preprocessor</Value>
<Value>../src</Value>
<Value>../src/ASF/common/boards/user_board</Value>
<Value>../src/LUFA/.</Value>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.0.106\include</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.OtherFlags>-fdata-sections</avrgcc.compiler.optimization.OtherFlags>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Maximum (-g3)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -fno-strict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -mrelax</avrgcc.compiler.miscellaneous.OtherFlags>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.linker.miscellaneous.LinkerFlags>-Wl,--relax</avrgcc.linker.miscellaneous.LinkerFlags>
<avrgcc.assembler.general.AssemblerFlags>-mrelax -DBOARD=USER_BOARD</avrgcc.assembler.general.AssemblerFlags>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>../common/applications/user_application/user_board/config</Value>
<Value>../src/config</Value>
<Value>../src/ASF/common/boards</Value>
<Value>../src/ASF/mega/utils</Value>
<Value>../src/ASF/common/utils</Value>
<Value>../src/ASF/mega/utils/preprocessor</Value>
<Value>../src</Value>
<Value>../src/ASF/common/boards/user_board</Value>
<Value>../src/LUFA/.</Value>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.0.106\include</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
Expand Down

0 comments on commit f939d4c

Please sign in to comment.