aboutsummaryrefslogtreecommitdiff
path: root/xorg-server
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-05-03 15:37:14 +0000
committermarha <marha@users.sourceforge.net>2011-05-03 15:37:14 +0000
commite4bd55e182560fa87af77ee3ec49fc1a907ead85 (patch)
treef77ade9dac153a4f45e08ccaf260de8d8ddbbb17 /xorg-server
parente8af1ef3142aaaf2d17f2d3710e23eee1baf8a61 (diff)
parentcc93496bdbb3e7aea51033ece75fa85cfb5845d4 (diff)
downloadvcxsrv-e4bd55e182560fa87af77ee3ec49fc1a907ead85.tar.gz
vcxsrv-e4bd55e182560fa87af77ee3ec49fc1a907ead85.tar.bz2
vcxsrv-e4bd55e182560fa87af77ee3ec49fc1a907ead85.zip
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server')
-rw-r--r--xorg-server/glx/glprocs.h310
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in7
-rw-r--r--xorg-server/xkeyboard-config/symbols/me4
-rw-r--r--xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-511879
-rw-r--r--xorg-server/xkeyboard-config/symbols/se59
5 files changed, 1615 insertions, 644 deletions
diff --git a/xorg-server/glx/glprocs.h b/xorg-server/glx/glprocs.h
index b7b9a75ac..b71df9227 100644
--- a/xorg-server/glx/glprocs.h
+++ b/xorg-server/glx/glprocs.h
@@ -1188,6 +1188,10 @@ static const char gl_string_table[] =
"glDrawElementsInstancedEXT\0"
"glDrawElementsInstanced\0"
"glRenderbufferStorageMultisampleEXT\0"
+ "glBlendEquationSeparateIndexedAMD\0"
+ "glBlendEquationIndexedAMD\0"
+ "glBlendFuncSeparateIndexedAMD\0"
+ "glBlendFuncIndexedAMD\0"
"glSampleMaskEXT\0"
"glSamplePatternEXT\0"
"glPointParameterf\0"
@@ -2582,157 +2586,161 @@ static const glprocs_table_t static_functions[] = {
NAME_FUNC_OFFSET(20863, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574),
NAME_FUNC_OFFSET(20890, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574),
NAME_FUNC_OFFSET(20914, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 575),
- NAME_FUNC_OFFSET(20950, gl_dispatch_stub_653, gl_dispatch_stub_653, NULL, 653),
- NAME_FUNC_OFFSET(20966, gl_dispatch_stub_654, gl_dispatch_stub_654, NULL, 654),
- NAME_FUNC_OFFSET(20985, glPointParameterfEXT, glPointParameterfEXT, NULL, 661),
- NAME_FUNC_OFFSET(21003, glPointParameterfEXT, glPointParameterfEXT, NULL, 661),
- NAME_FUNC_OFFSET(21024, glPointParameterfEXT, glPointParameterfEXT, NULL, 661),
- NAME_FUNC_OFFSET(21046, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662),
- NAME_FUNC_OFFSET(21065, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662),
- NAME_FUNC_OFFSET(21087, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662),
- NAME_FUNC_OFFSET(21110, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 665),
- NAME_FUNC_OFFSET(21129, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 666),
- NAME_FUNC_OFFSET(21149, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 667),
- NAME_FUNC_OFFSET(21168, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 668),
- NAME_FUNC_OFFSET(21188, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 669),
- NAME_FUNC_OFFSET(21207, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 670),
- NAME_FUNC_OFFSET(21227, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 671),
- NAME_FUNC_OFFSET(21246, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 672),
- NAME_FUNC_OFFSET(21266, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 673),
- NAME_FUNC_OFFSET(21285, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 674),
- NAME_FUNC_OFFSET(21305, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 675),
- NAME_FUNC_OFFSET(21325, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 676),
- NAME_FUNC_OFFSET(21346, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 677),
- NAME_FUNC_OFFSET(21366, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 678),
- NAME_FUNC_OFFSET(21387, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 679),
- NAME_FUNC_OFFSET(21407, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 680),
- NAME_FUNC_OFFSET(21428, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 681),
- NAME_FUNC_OFFSET(21452, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 682),
- NAME_FUNC_OFFSET(21470, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 683),
- NAME_FUNC_OFFSET(21490, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 684),
- NAME_FUNC_OFFSET(21508, glFogCoorddEXT, glFogCoorddEXT, NULL, 685),
- NAME_FUNC_OFFSET(21520, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 686),
- NAME_FUNC_OFFSET(21533, glFogCoordfEXT, glFogCoordfEXT, NULL, 687),
- NAME_FUNC_OFFSET(21545, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 688),
- NAME_FUNC_OFFSET(21558, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 690),
- NAME_FUNC_OFFSET(21578, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 690),
- NAME_FUNC_OFFSET(21602, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 707),
- NAME_FUNC_OFFSET(21616, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 707),
- NAME_FUNC_OFFSET(21633, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 708),
- NAME_FUNC_OFFSET(21648, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 708),
- NAME_FUNC_OFFSET(21666, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 709),
- NAME_FUNC_OFFSET(21680, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 709),
- NAME_FUNC_OFFSET(21697, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 710),
- NAME_FUNC_OFFSET(21712, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 710),
- NAME_FUNC_OFFSET(21730, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 711),
- NAME_FUNC_OFFSET(21744, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 711),
- NAME_FUNC_OFFSET(21761, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 712),
- NAME_FUNC_OFFSET(21776, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 712),
- NAME_FUNC_OFFSET(21794, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 713),
- NAME_FUNC_OFFSET(21808, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 713),
- NAME_FUNC_OFFSET(21825, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 714),
- NAME_FUNC_OFFSET(21840, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 714),
- NAME_FUNC_OFFSET(21858, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 715),
- NAME_FUNC_OFFSET(21872, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 715),
- NAME_FUNC_OFFSET(21889, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 716),
- NAME_FUNC_OFFSET(21904, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 716),
- NAME_FUNC_OFFSET(21922, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 717),
- NAME_FUNC_OFFSET(21936, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 717),
- NAME_FUNC_OFFSET(21953, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 718),
- NAME_FUNC_OFFSET(21968, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 718),
- NAME_FUNC_OFFSET(21986, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 719),
- NAME_FUNC_OFFSET(22000, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 719),
- NAME_FUNC_OFFSET(22017, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 720),
- NAME_FUNC_OFFSET(22032, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 720),
- NAME_FUNC_OFFSET(22050, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 721),
- NAME_FUNC_OFFSET(22064, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 721),
- NAME_FUNC_OFFSET(22081, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 722),
- NAME_FUNC_OFFSET(22096, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 722),
- NAME_FUNC_OFFSET(22114, glBindProgramNV, glBindProgramNV, NULL, 741),
- NAME_FUNC_OFFSET(22131, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 742),
- NAME_FUNC_OFFSET(22151, glGenProgramsNV, glGenProgramsNV, NULL, 744),
- NAME_FUNC_OFFSET(22168, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 750),
- NAME_FUNC_OFFSET(22194, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 750),
- NAME_FUNC_OFFSET(22223, glIsProgramNV, glIsProgramNV, NULL, 754),
- NAME_FUNC_OFFSET(22238, glPointParameteriNV, glPointParameteriNV, NULL, 818),
- NAME_FUNC_OFFSET(22256, glPointParameterivNV, glPointParameterivNV, NULL, 819),
- NAME_FUNC_OFFSET(22275, gl_dispatch_stub_822, gl_dispatch_stub_822, NULL, 822),
- NAME_FUNC_OFFSET(22296, gl_dispatch_stub_824, gl_dispatch_stub_824, NULL, 824),
- NAME_FUNC_OFFSET(22312, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 831),
- NAME_FUNC_OFFSET(22336, gl_dispatch_stub_834, gl_dispatch_stub_834, NULL, 834),
- NAME_FUNC_OFFSET(22360, gl_dispatch_stub_834, gl_dispatch_stub_834, NULL, 834),
- NAME_FUNC_OFFSET(22387, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 835),
- NAME_FUNC_OFFSET(22405, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 836),
- NAME_FUNC_OFFSET(22424, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 837),
- NAME_FUNC_OFFSET(22449, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 838),
- NAME_FUNC_OFFSET(22470, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 839),
- NAME_FUNC_OFFSET(22492, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 840),
- NAME_FUNC_OFFSET(22518, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 841),
- NAME_FUNC_OFFSET(22541, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 842),
- NAME_FUNC_OFFSET(22564, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 843),
- NAME_FUNC_OFFSET(22587, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 844),
- NAME_FUNC_OFFSET(22605, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 845),
- NAME_FUNC_OFFSET(22624, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 846),
- NAME_FUNC_OFFSET(22641, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 847),
- NAME_FUNC_OFFSET(22679, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 848),
- NAME_FUNC_OFFSET(22708, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 849),
- NAME_FUNC_OFFSET(22724, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 850),
- NAME_FUNC_OFFSET(22741, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 851),
- NAME_FUNC_OFFSET(22763, gl_dispatch_stub_852, gl_dispatch_stub_852, NULL, 852),
- NAME_FUNC_OFFSET(22781, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 855),
- NAME_FUNC_OFFSET(22804, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 856),
- NAME_FUNC_OFFSET(22826, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 857),
- NAME_FUNC_OFFSET(22842, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 858),
- NAME_FUNC_OFFSET(22863, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 859),
- NAME_FUNC_OFFSET(22885, glUniform1uiEXT, glUniform1uiEXT, NULL, 860),
- NAME_FUNC_OFFSET(22898, glUniform1uivEXT, glUniform1uivEXT, NULL, 861),
- NAME_FUNC_OFFSET(22912, glUniform2uiEXT, glUniform2uiEXT, NULL, 862),
- NAME_FUNC_OFFSET(22925, glUniform2uivEXT, glUniform2uivEXT, NULL, 863),
- NAME_FUNC_OFFSET(22939, glUniform3uiEXT, glUniform3uiEXT, NULL, 864),
- NAME_FUNC_OFFSET(22952, glUniform3uivEXT, glUniform3uivEXT, NULL, 865),
- NAME_FUNC_OFFSET(22966, glUniform4uiEXT, glUniform4uiEXT, NULL, 866),
- NAME_FUNC_OFFSET(22979, glUniform4uivEXT, glUniform4uivEXT, NULL, 867),
- NAME_FUNC_OFFSET(22993, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 868),
- NAME_FUNC_OFFSET(23011, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 869),
- NAME_FUNC_OFFSET(23030, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 870),
- NAME_FUNC_OFFSET(23049, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 871),
- NAME_FUNC_OFFSET(23069, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 872),
- NAME_FUNC_OFFSET(23087, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 873),
- NAME_FUNC_OFFSET(23106, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 874),
- NAME_FUNC_OFFSET(23125, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 875),
- NAME_FUNC_OFFSET(23145, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 876),
- NAME_FUNC_OFFSET(23163, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 877),
- NAME_FUNC_OFFSET(23182, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 878),
- NAME_FUNC_OFFSET(23201, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 879),
- NAME_FUNC_OFFSET(23221, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 880),
- NAME_FUNC_OFFSET(23240, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 881),
- NAME_FUNC_OFFSET(23258, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 882),
- NAME_FUNC_OFFSET(23277, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 883),
- NAME_FUNC_OFFSET(23296, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 884),
- NAME_FUNC_OFFSET(23316, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 885),
- NAME_FUNC_OFFSET(23335, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 886),
- NAME_FUNC_OFFSET(23355, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 887),
- NAME_FUNC_OFFSET(23375, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 888),
- NAME_FUNC_OFFSET(23398, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 889),
- NAME_FUNC_OFFSET(23424, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 890),
- NAME_FUNC_OFFSET(23437, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 891),
- NAME_FUNC_OFFSET(23448, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 892),
- NAME_FUNC_OFFSET(23458, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 893),
- NAME_FUNC_OFFSET(23474, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 894),
- NAME_FUNC_OFFSET(23490, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 895),
- NAME_FUNC_OFFSET(23503, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 898),
- NAME_FUNC_OFFSET(23524, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 899),
- NAME_FUNC_OFFSET(23546, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 900),
- NAME_FUNC_OFFSET(23564, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 901),
- NAME_FUNC_OFFSET(23583, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 902),
- NAME_FUNC_OFFSET(23608, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 903),
- NAME_FUNC_OFFSET(23631, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 904),
- NAME_FUNC_OFFSET(23656, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 905),
- NAME_FUNC_OFFSET(23673, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 907),
- NAME_FUNC_OFFSET(23691, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 908),
- NAME_FUNC_OFFSET(23714, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 909),
- NAME_FUNC_OFFSET(23744, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 910),
- NAME_FUNC_OFFSET(23772, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 911),
+ NAME_FUNC_OFFSET(20950, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 596),
+ NAME_FUNC_OFFSET(20984, glBlendEquationiARB, glBlendEquationiARB, NULL, 597),
+ NAME_FUNC_OFFSET(21010, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 598),
+ NAME_FUNC_OFFSET(21040, glBlendFunciARB, glBlendFunciARB, NULL, 599),
+ NAME_FUNC_OFFSET(21062, gl_dispatch_stub_653, gl_dispatch_stub_653, NULL, 653),
+ NAME_FUNC_OFFSET(21078, gl_dispatch_stub_654, gl_dispatch_stub_654, NULL, 654),
+ NAME_FUNC_OFFSET(21097, glPointParameterfEXT, glPointParameterfEXT, NULL, 661),
+ NAME_FUNC_OFFSET(21115, glPointParameterfEXT, glPointParameterfEXT, NULL, 661),
+ NAME_FUNC_OFFSET(21136, glPointParameterfEXT, glPointParameterfEXT, NULL, 661),
+ NAME_FUNC_OFFSET(21158, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662),
+ NAME_FUNC_OFFSET(21177, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662),
+ NAME_FUNC_OFFSET(21199, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662),
+ NAME_FUNC_OFFSET(21222, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 665),
+ NAME_FUNC_OFFSET(21241, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 666),
+ NAME_FUNC_OFFSET(21261, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 667),
+ NAME_FUNC_OFFSET(21280, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 668),
+ NAME_FUNC_OFFSET(21300, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 669),
+ NAME_FUNC_OFFSET(21319, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 670),
+ NAME_FUNC_OFFSET(21339, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 671),
+ NAME_FUNC_OFFSET(21358, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 672),
+ NAME_FUNC_OFFSET(21378, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 673),
+ NAME_FUNC_OFFSET(21397, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 674),
+ NAME_FUNC_OFFSET(21417, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 675),
+ NAME_FUNC_OFFSET(21437, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 676),
+ NAME_FUNC_OFFSET(21458, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 677),
+ NAME_FUNC_OFFSET(21478, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 678),
+ NAME_FUNC_OFFSET(21499, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 679),
+ NAME_FUNC_OFFSET(21519, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 680),
+ NAME_FUNC_OFFSET(21540, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 681),
+ NAME_FUNC_OFFSET(21564, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 682),
+ NAME_FUNC_OFFSET(21582, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 683),
+ NAME_FUNC_OFFSET(21602, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 684),
+ NAME_FUNC_OFFSET(21620, glFogCoorddEXT, glFogCoorddEXT, NULL, 685),
+ NAME_FUNC_OFFSET(21632, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 686),
+ NAME_FUNC_OFFSET(21645, glFogCoordfEXT, glFogCoordfEXT, NULL, 687),
+ NAME_FUNC_OFFSET(21657, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 688),
+ NAME_FUNC_OFFSET(21670, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 690),
+ NAME_FUNC_OFFSET(21690, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 690),
+ NAME_FUNC_OFFSET(21714, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 707),
+ NAME_FUNC_OFFSET(21728, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 707),
+ NAME_FUNC_OFFSET(21745, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 708),
+ NAME_FUNC_OFFSET(21760, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 708),
+ NAME_FUNC_OFFSET(21778, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 709),
+ NAME_FUNC_OFFSET(21792, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 709),
+ NAME_FUNC_OFFSET(21809, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 710),
+ NAME_FUNC_OFFSET(21824, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 710),
+ NAME_FUNC_OFFSET(21842, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 711),
+ NAME_FUNC_OFFSET(21856, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 711),
+ NAME_FUNC_OFFSET(21873, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 712),
+ NAME_FUNC_OFFSET(21888, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 712),
+ NAME_FUNC_OFFSET(21906, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 713),
+ NAME_FUNC_OFFSET(21920, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 713),
+ NAME_FUNC_OFFSET(21937, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 714),
+ NAME_FUNC_OFFSET(21952, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 714),
+ NAME_FUNC_OFFSET(21970, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 715),
+ NAME_FUNC_OFFSET(21984, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 715),
+ NAME_FUNC_OFFSET(22001, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 716),
+ NAME_FUNC_OFFSET(22016, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 716),
+ NAME_FUNC_OFFSET(22034, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 717),
+ NAME_FUNC_OFFSET(22048, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 717),
+ NAME_FUNC_OFFSET(22065, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 718),
+ NAME_FUNC_OFFSET(22080, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 718),
+ NAME_FUNC_OFFSET(22098, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 719),
+ NAME_FUNC_OFFSET(22112, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 719),
+ NAME_FUNC_OFFSET(22129, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 720),
+ NAME_FUNC_OFFSET(22144, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 720),
+ NAME_FUNC_OFFSET(22162, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 721),
+ NAME_FUNC_OFFSET(22176, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 721),
+ NAME_FUNC_OFFSET(22193, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 722),
+ NAME_FUNC_OFFSET(22208, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 722),
+ NAME_FUNC_OFFSET(22226, glBindProgramNV, glBindProgramNV, NULL, 741),
+ NAME_FUNC_OFFSET(22243, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 742),
+ NAME_FUNC_OFFSET(22263, glGenProgramsNV, glGenProgramsNV, NULL, 744),
+ NAME_FUNC_OFFSET(22280, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 750),
+ NAME_FUNC_OFFSET(22306, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 750),
+ NAME_FUNC_OFFSET(22335, glIsProgramNV, glIsProgramNV, NULL, 754),
+ NAME_FUNC_OFFSET(22350, glPointParameteriNV, glPointParameteriNV, NULL, 818),
+ NAME_FUNC_OFFSET(22368, glPointParameterivNV, glPointParameterivNV, NULL, 819),
+ NAME_FUNC_OFFSET(22387, gl_dispatch_stub_822, gl_dispatch_stub_822, NULL, 822),
+ NAME_FUNC_OFFSET(22408, gl_dispatch_stub_824, gl_dispatch_stub_824, NULL, 824),
+ NAME_FUNC_OFFSET(22424, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 831),
+ NAME_FUNC_OFFSET(22448, gl_dispatch_stub_834, gl_dispatch_stub_834, NULL, 834),
+ NAME_FUNC_OFFSET(22472, gl_dispatch_stub_834, gl_dispatch_stub_834, NULL, 834),
+ NAME_FUNC_OFFSET(22499, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 835),
+ NAME_FUNC_OFFSET(22517, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 836),
+ NAME_FUNC_OFFSET(22536, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 837),
+ NAME_FUNC_OFFSET(22561, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 838),
+ NAME_FUNC_OFFSET(22582, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 839),
+ NAME_FUNC_OFFSET(22604, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 840),
+ NAME_FUNC_OFFSET(22630, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 841),
+ NAME_FUNC_OFFSET(22653, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 842),
+ NAME_FUNC_OFFSET(22676, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 843),
+ NAME_FUNC_OFFSET(22699, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 844),
+ NAME_FUNC_OFFSET(22717, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 845),
+ NAME_FUNC_OFFSET(22736, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 846),
+ NAME_FUNC_OFFSET(22753, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 847),
+ NAME_FUNC_OFFSET(22791, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 848),
+ NAME_FUNC_OFFSET(22820, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 849),
+ NAME_FUNC_OFFSET(22836, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 850),
+ NAME_FUNC_OFFSET(22853, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 851),
+ NAME_FUNC_OFFSET(22875, gl_dispatch_stub_852, gl_dispatch_stub_852, NULL, 852),
+ NAME_FUNC_OFFSET(22893, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 855),
+ NAME_FUNC_OFFSET(22916, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 856),
+ NAME_FUNC_OFFSET(22938, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 857),
+ NAME_FUNC_OFFSET(22954, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 858),
+ NAME_FUNC_OFFSET(22975, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 859),
+ NAME_FUNC_OFFSET(22997, glUniform1uiEXT, glUniform1uiEXT, NULL, 860),
+ NAME_FUNC_OFFSET(23010, glUniform1uivEXT, glUniform1uivEXT, NULL, 861),
+ NAME_FUNC_OFFSET(23024, glUniform2uiEXT, glUniform2uiEXT, NULL, 862),
+ NAME_FUNC_OFFSET(23037, glUniform2uivEXT, glUniform2uivEXT, NULL, 863),
+ NAME_FUNC_OFFSET(23051, glUniform3uiEXT, glUniform3uiEXT, NULL, 864),
+ NAME_FUNC_OFFSET(23064, glUniform3uivEXT, glUniform3uivEXT, NULL, 865),
+ NAME_FUNC_OFFSET(23078, glUniform4uiEXT, glUniform4uiEXT, NULL, 866),
+ NAME_FUNC_OFFSET(23091, glUniform4uivEXT, glUniform4uivEXT, NULL, 867),
+ NAME_FUNC_OFFSET(23105, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 868),
+ NAME_FUNC_OFFSET(23123, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 869),
+ NAME_FUNC_OFFSET(23142, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 870),
+ NAME_FUNC_OFFSET(23161, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 871),
+ NAME_FUNC_OFFSET(23181, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 872),
+ NAME_FUNC_OFFSET(23199, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 873),
+ NAME_FUNC_OFFSET(23218, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 874),
+ NAME_FUNC_OFFSET(23237, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 875),
+ NAME_FUNC_OFFSET(23257, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 876),
+ NAME_FUNC_OFFSET(23275, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 877),
+ NAME_FUNC_OFFSET(23294, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 878),
+ NAME_FUNC_OFFSET(23313, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 879),
+ NAME_FUNC_OFFSET(23333, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 880),
+ NAME_FUNC_OFFSET(23352, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 881),
+ NAME_FUNC_OFFSET(23370, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 882),
+ NAME_FUNC_OFFSET(23389, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 883),
+ NAME_FUNC_OFFSET(23408, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 884),
+ NAME_FUNC_OFFSET(23428, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 885),
+ NAME_FUNC_OFFSET(23447, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 886),
+ NAME_FUNC_OFFSET(23467, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 887),
+ NAME_FUNC_OFFSET(23487, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 888),
+ NAME_FUNC_OFFSET(23510, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 889),
+ NAME_FUNC_OFFSET(23536, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 890),
+ NAME_FUNC_OFFSET(23549, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 891),
+ NAME_FUNC_OFFSET(23560, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 892),
+ NAME_FUNC_OFFSET(23570, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 893),
+ NAME_FUNC_OFFSET(23586, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 894),
+ NAME_FUNC_OFFSET(23602, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 895),
+ NAME_FUNC_OFFSET(23615, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 898),
+ NAME_FUNC_OFFSET(23636, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 899),
+ NAME_FUNC_OFFSET(23658, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 900),
+ NAME_FUNC_OFFSET(23676, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 901),
+ NAME_FUNC_OFFSET(23695, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 902),
+ NAME_FUNC_OFFSET(23720, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 903),
+ NAME_FUNC_OFFSET(23743, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 904),
+ NAME_FUNC_OFFSET(23768, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 905),
+ NAME_FUNC_OFFSET(23785, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 907),
+ NAME_FUNC_OFFSET(23803, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 908),
+ NAME_FUNC_OFFSET(23826, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 909),
+ NAME_FUNC_OFFSET(23856, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 910),
+ NAME_FUNC_OFFSET(23884, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 911),
NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0)
};
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in
index 52ad8263f..3ffcc60dc 100644
--- a/xorg-server/xkeyboard-config/rules/base.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.xml.in
@@ -4201,6 +4201,13 @@
<_description>Swedish (Svdvorak)</_description>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>swl</name>
+ <_description>Swedish Sign Language</_description>
+ <languageList><iso639Id>swl</iso639Id></languageList>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
diff --git a/xorg-server/xkeyboard-config/symbols/me b/xorg-server/xkeyboard-config/symbols/me
index 2c8e49ed3..07cf24f71 100644
--- a/xorg-server/xkeyboard-config/symbols/me
+++ b/xorg-server/xkeyboard-config/symbols/me
@@ -26,7 +26,7 @@ xkb_symbols "cyrillicyz" {
partial alphanumeric_keys
xkb_symbols "latinunicode" {
include "rs(latinunicode)"
- name[Group1]= "Montenegrin (Latin unicode)";
+ name[Group1]= "Montenegrin (Latin Unicode)";
};
partial alphanumeric_keys
@@ -38,7 +38,7 @@ xkb_symbols "latinyz" {
partial alphanumeric_keys
xkb_symbols "latinunicodeyz" {
include "rs(latinunicodeyz)"
- name[Group1]= "Montenegrin (Latin unicode qwerty)";
+ name[Group1]= "Montenegrin (Latin Unicode qwerty)";
};
xkb_symbols "cyrillicalternatequotes" {
diff --git a/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-51 b/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-51
index fd98fbf28..e684330f2 100644
--- a/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-51
+++ b/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-51
@@ -1,491 +1,1388 @@
-default partial alphanumeric_keys
-xkb_symbols "common" {
- include "nokia_vndr/rx-51(common_keys)"
- include "nokia_vndr/rx-51(modifiers)"
-
- // This section should not be included by any other section.
- // It's referenced only once by rule file to allow multiple layout configurations.
-
- // More than one layout at the same time could be set for instance as follows:
- // setxkbmap -rules evdev \
- // -model nokiarx51 \
- // -option grp:ctrl_shift_toggle \
- // -layout us,cz \
- // -variant ",qwerty"
-
- // Notice the similarity:
- // "pc+us+cz(qwerty):2+grp:XYZ" vs.
- // "nokia_vndr/rx-51(common)+nokia_vndr/rx-51(us)+nokia_vndr/rx-51(cz_qwerty):2+grp:XYZ"
- // where XYZ is one of xkb_symbols section usually located in file symbols/group.
-
- // Bear in mind that option XYZ could replace current keys configuration!!!
-
- // For instance using symbols/group(ctrl_shift_toggle) redefines LCTL and LFSH keys
- // which may disallow opening of virtual symbol table (Multi_key).
- // Fortunately the Multi_key is defined in 3rd and 4th level a ctrl_shift_toggle
- // redefines first two levels only. But RX-51 has not right Ctrl nor Shift therefore
- // pressing Ctrl+Shift will switch to previous layout, not to the next one.
-
- // For RX-51 device there is a lot of restrictions if more than one layout is
- // is configured at the same time because some modifiers and special cases are
- // handled by hildon layer (especially with eight-level layout):
- // - settings may be done from terminal only (GUI doesn't and won't support it)
- // - virtual symbol table is not updated according to current layout
- // - for unknown reasons the eight-level layout (nordic,ru) works properly
- // only if it's configured as first layout (e.g. "ru,us,cz" not "us,cz,ru")
- // otherwise it's not possible to access levels 5-8
- // - Ctrl+Space related problems:
- // - If eight-level layout is used as first layout one of eight-level layouts has to
- // be also chosen in GUI - otherwise the Ctrl+Space "switch" is disabled
- // - Ctrl+Space has no effect if only four-level layouts are chosen
- // (don't forget the layout configured in GUI - despite of it's not reachable)
- // - a few keys in 2nd layer could be mixed with other layouts when Ctrl+Space is "turned on" (why?)
- // in case eight- and four-level layouts are configured simultaneously
- // - Ctrl+Space is "turned on" by default and has to be "turned off" for four-level layouts
- // in case eight- and four-level layouts are configured simultaneously
- // - four-level layout on first place doesn't work at all when Ctrl+Space is "turned on"
- // in case the 2nd, 3rd or 4th layout is eight-level layout
-};
-
-////////////////////////////////////////////////////////////////////////////////
-
-partial alphanumeric_keys
-xkb_symbols "us" {
- include "nokia_vndr/rx-51(english_base)"
- include "nokia_vndr/rx-51(arrows_4btns)"
-
- name[Group1] = "U.S. English";
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "pl" {
- include "nokia_vndr/rx-51(english_base)"
- include "nokia_vndr/rx-51(arrows_4btns)"
-
- name[Group1] = "Polish";
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "fise" {
- include "nokia_vndr/rx-51(nordic_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "Finnish/Swedish";
-
- // 2. row
- key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] };
- key <UP> { [ adiaeresis, Adiaeresis, question, question ] };
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "dano" {
- include "nokia_vndr/rx-51(nordic_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "Danish/Norwegian";
-
- // 2. row
- key <AB09> { [ oslash, Oslash, exclam, exclam ] };
- key <UP> { [ ae, AE, question, question ] };
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "nordic" {
- include "nokia_vndr/rx-51(nordic_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "Danish/Finnish/Norwegian/Swedish";
-
- key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
-
- // 2. row
- key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam, oslash, Oslash, exclam, exclam ] };
- key <UP> { [ adiaeresis, Adiaeresis, question, question, ae, AE, question, question ] };
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "ptes" {
- include "nokia_vndr/rx-51(english_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "Portuguese/Spanish";
-
- // 1. row
- key <AB08> { [ dead_acute, dead_acute, dead_grave, dead_grave ] };
-
- // 2. row
- key <AC05> { [ g, G, exclamdown, exclamdown ] };
- key <AC06> { [ h, H, exclam, exclam ] };
- key <AC07> { [ j, J, questiondown, questiondown ] };
- key <AC08> { [ k, K, question, question ] };
- key <AC09> { [ l, L, dead_diaeresis, dead_diaeresis ] };
- key <AB09> { [ ntilde, Ntilde, dead_tilde, dead_tilde ] };
- key <UP> { [ ccedilla, Ccedilla, dead_circumflex,dead_circumflex ] };
-
- // 3. row
- key <AB01> { [ z, Z, parenleft, parenleft ] };
- key <AB02> { [ x, X, parenright, parenright ] };
- key <AB03> { [ c, C, slash, slash ] };
- key <AB04> { [ v, V, quotedbl, quotedbl ] };
- key <AB05> { [ b, B, apostrophe, apostrophe ] };
- key <AB06> { [ n, N, colon, colon ] };
- key <AB07> { [ m, M, semicolon, semicolon ] };
- key <LEFT> { [ period, comma, comma, comma ] };
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "fr" {
- include "nokia_vndr/rx-51(english_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "French";
-
- // 1. row
- key <AD01> { [ a, A, 1, 1 ] };
- key <AD02> { [ z, Z, 2, 2 ] };
- key <AB08> { [ agrave, Agrave, ccedilla, Ccedilla ] };
-
- // 2. row
- key <AC01> { [ q, Q, asterisk, asterisk ] };
- key <AC02> { [ s, S, plus, plus ] };
- key <AC03> { [ d, D, numbersign, numbersign ] };
- key <AC04> { [ f, F, minus, minus ] };
- key <AC05> { [ g, G, underscore, underscore ] };
- key <AC06> { [ h, H, exclam, exclam ] };
- key <AC07> { [ j, J, question, question ] };
- key <AC08> { [ k, K, colon, colon ] };
- key <AC09> { [ l, L, dead_circumflex,dead_circumflex ] };
- key <AB09> { [ m, M, ugrave, Ugrave ] };
- key <UP> { [ eacute, Eacute, egrave, Egrave ] };
-
- // 3. row
- key <AB01> { [ w, W, EuroSign, EuroSign ] };
- key <AB03> { [ c, C, parenleft, parenleft ] };
- key <AB04> { [ v, V, parenright, parenright ] };
- key <AB05> { [ b, B, slash, slash ] };
- key <AB07> { [ comma, comma, apostrophe, apostrophe ] };
- key <LEFT> { [ semicolon, period, period, period ] };
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "de" {
- include "nokia_vndr/rx-51(english_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "German";
-
- // 1. row
- key <AD06> { [ z, Z, 6, 6 ] };
- key <AB08> { [ udiaeresis, Udiaeresis, ssharp, ssharp ] };
-
- // 2. row
- key <AC08> { [ k, K, semicolon, semicolon ] };
- key <AC09> { [ l, L, colon, colon ] };
- key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] };
- key <UP> { [ adiaeresis, Adiaeresis, question, question ] };
-
- // 3. row
- key <AB01> { [ y, Y, EuroSign, EuroSign ] };
- key <AB03> { [ c, C, equal, equal ] };
- key <LEFT> { [ period, comma, comma, comma ] };
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "ch" {
- include "nokia_vndr/rx-51(english_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "Swiss";
-
- // 1. row
- key <AD06> { [ z, Z, 6, 6 ] };
- key <AB08> { [ udiaeresis, Udiaeresis, egrave, Egrave ] };
-
- // 2. row
- key <AC06> { [ h, H, equal, equal ] };
- key <AC07> { [ j, J, parenleft, parenleft ] };
- key <AC08> { [ k, K, parenright, parenright ] };
- key <AC09> { [ l, L, colon, colon ] };
- key <AB09> { [ odiaeresis, Odiaeresis, eacute, Aacute ] };
- key <UP> { [ adiaeresis, Adiaeresis, agrave, Agrave ] };
-
- // 3. row
- key <AB01> { [ y, Y, question, question ] };
- key <AB02> { [ x, X, exclam, exclam ] };
- key <AB03> { [ c, C, ccedilla, Ccedilla ] };
- key <LEFT> { [ period, comma, comma, comma ] };
-};
-
-
-
-// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons.
-partial alphanumeric_keys
-xkb_symbols "ru" {
- include "nokia_vndr/rx-51(english_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "Russian";
-
- key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
-
- // 1. row
- key <AD01> { [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] };
- key <AD02> { [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] };
- key <AD03> { [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] };
- key <AD04> { [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] };
- key <AD05> { [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] };
- key <AD06> { [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] };
- key <AD07> { [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] };
- key <AD08> { [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] };
- key <AD09> { [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] };
- key <AD10> { [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] };
- key <AB08> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
-
- // 2. row
- key <AC01> { [ a, A, asterisk, asterisk, Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] };
- key <AC02> { [ s, S, plus, plus, Cyrillic_yeru, Cyrillic_YERU, plus, plus ] };
- key <AC03> { [ d, D, numbersign, numbersign, Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] };
- key <AC04> { [ f, F, minus, minus, Cyrillic_a, Cyrillic_A, minus, minus ] };
- key <AC05> { [ g, G, underscore, underscore, Cyrillic_pe, Cyrillic_PE, underscore, underscore ] };
- key <AC06> { [ h, H, exclam, exclam, Cyrillic_er, Cyrillic_ER, exclam, exclam ] };
- key <AC07> { [ j, J, question, question, Cyrillic_o, Cyrillic_O, question, question ] };
- key <AC08> { [ k, K, semicolon, semicolon, Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] };
- key <AC09> { [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] };
- key <AB09> { [ comma, comma, comma, comma, Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] };
- key <UP> { [ period, period, period, period, Cyrillic_e, Cyrillic_E, period, period ] };
-
- // 3. row
- key <AB01> { [ z, Z, dollar, dollar, Cyrillic_ya, Cyrillic_YA, dollar, dollar ] };
- key <AB02> { [ x, X, EuroSign, EuroSign, Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] };
- key <AB03> { [ c, C, slash, slash, Cyrillic_es, Cyrillic_ES, slash, slash ] };
- key <AB04> { [ v, V, parenleft, parenleft, Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] };
- key <AB05> { [ b, B, parenright, parenright, Cyrillic_i, Cyrillic_I, parenright, parenright ] };
- key <AB06> { [ n, N, quotedbl, quotedbl, Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] };
- key <AB07> { [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] };
- key <LEFT> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU, Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] };
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "it" {
- include "nokia_vndr/rx-51(english_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "Italian";
-
- // 1. row
- key <AB08> { [ egrave, Egrave, eacute, Eacute ] };
-
- // 2. row
- key <AC06> { [ h, H, semicolon, semicolon ] };
- key <AC07> { [ j, J, colon, colon ] };
- key <AC08> { [ k, K, exclam, exclam ] };
- key <AC09> { [ l, L, question, question ] };
- key <AB09> { [ ograve, Ograve, igrave, Igrave ] };
- key <UP> { [ agrave, Agrave, ugrave, Ugrave ] };
-
- // 3. row
- key <AB01> { [ z, Z, EuroSign, EuroSign ] };
- key <AB02> { [ x, X, parenleft, parenleft ] };
- key <AB03> { [ c, C, parenright, parenright ] };
- key <LEFT> { [ period, comma, comma, comma ] };
-};
-
-
-
-partial alphanumeric_keys
-xkb_symbols "cz" {
- include "nokia_vndr/rx-51(english_base)"
- include "nokia_vndr/rx-51(arrows_2btns)"
-
- name[Group1] = "Czech";
-
- // 1. row
- key <AD06> { [ z, Z, 6, 6 ] };
- key <AB08> { [ dead_acute, dead_acute, sterling, sterling ] };
-
- // 2. row
- key <AC08> { [ k, K, semicolon, semicolon ] };
- key <AC09> { [ l, L, colon, colon ] };
- key <AB09> { [ uring, Uring, EuroSign, EuroSign ] };
- key <UP> { [ dead_caron, dead_caron, dollar, dollar ] };
-
- // 3. row
- key <AB01> { [ y, Y, equal, equal ] };
- key <AB02> { [ x, X, slash, slash ] };
- key <AB03> { [ c, C, backslash, backslash ] };
- key <AB04> { [ v, V, apostrophe, apostrophe ] };
- key <AB05> { [ b, B, quotedbl, quotedbl ] };
- key <AB06> { [ n, N, exclam, exclam ] };
- key <AB07> { [ m, M, question, question ] };
- key <LEFT> { [ period, comma, comma, comma ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "cz_qwerty" {
- include "nokia_vndr/rx-51(cz)"
-
- name[Group1] = "Czech - qwerty";
-
- // Do not use the layout "cz_qwerty" directly if it is the only layout and compat rules enabled.
- // There is one compat rule that converts "cz_qwerty" to "pc+cz(qwerty)" which is not correct for RX-51.
- // Use either the layout "cz(qwerty)" or the general "cz" with variant "qwerty".
-
- // 1. row
- key <AD06> { [ y, Y, 6, 6 ] };
-
- // 3. row
- key <AB01> { [ z, Z, percent, percent ] };
-};
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-
-partial hidden alphanumeric_keys
-xkb_symbols "nordic_base" {
- include "nokia_vndr/rx-51(english_base)"
-
- // 1. row
- key <AB08> { [ aring, Aring, equal, equal ] };
-
- // 2. row
- key <AC08> { [ k, K, semicolon, semicolon ] };
- key <AC09> { [ l, L, colon, colon ] };
-
- // 3. row
- key <AB01> { [ z, Z, EuroSign, EuroSign ] };
- key <AB03> { [ c, C, sterling, sterling ] };
- key <LEFT> { [ period, comma, comma, comma ] };
-};
-
-partial hidden alphanumeric_keys
-xkb_symbols "english_base" {
-
- // 1. row
- key <AD01> { [ q, Q, 1, 1 ] };
- key <AD02> { [ w, W, 2, 2 ] };
- key <AD03> { [ e, E, 3, 3 ] };
- key <AD04> { [ r, R, 4, 4 ] };
- key <AD05> { [ t, T, 5, 5 ] };
- key <AD06> { [ y, Y, 6, 6 ] };
- key <AD07> { [ u, U, 7, 7 ] };
- key <AD08> { [ i, I, 8, 8 ] };
- key <AD09> { [ o, O, 9, 9 ] };
- key <AD10> { [ p, P, 0, 0 ] };
- key <AB08> { [ comma, semicolon, equal, equal ] };
-
- // 2. row
- key <AC01> { [ a, A, asterisk, asterisk ] };
- key <AC02> { [ s, S, plus, plus ] };
- key <AC03> { [ d, D, numbersign, numbersign ] };
- key <AC04> { [ f, F, minus, minus ] };
- key <AC05> { [ g, G, underscore, underscore ] };
- key <AC06> { [ h, H, parenleft, parenleft ] };
- key <AC07> { [ j, J, parenright, parenright ] };
- key <AC08> { [ k, K, ampersand, ampersand ] };
- key <AC09> { [ l, L, exclam, exclam ] };
- key <AB09> { [ period, colon, question, question ] };
-
- // 3. row
- key <AB01> { [ z, Z, sterling, sterling ] };
- key <AB02> { [ x, X, dollar, dollar ] };
- key <AB03> { [ c, C, EuroSign, EuroSign ] };
- key <AB04> { [ v, V, slash, slash ] };
- key <AB05> { [ b, B, backslash, backslash ] };
- key <AB06> { [ n, N, quotedbl, quotedbl ] };
- key <AB07> { [ m, M, apostrophe, apostrophe ] };
- key <SPCE> { [ space, space, at, at ] };
-};
-
-partial hidden alphanumeric_keys
-xkb_symbols "common_keys" {
- // all other common keys
-
- key <BKSP> { [ BackSpace ] };
- key <TAB> { [ Tab ] };
-
- // broken UI spec.
- key <RTRN> { [ KP_Enter ] };
-
- key <KPEN> { [ Return ] };
- key <ESC> { [ Escape ] };
-
- key <FK01> { [ F1 ] };
- key <FK02> { [ F2 ] };
- key <FK03> { [ F3 ] };
- key <FK04> { [ F4 ] };
- key <FK05> { [ F5 ] };
- key <FK06> { [ F6 ] };
-
- // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically
- // on left/right and up/down in landscape/portrait orientation. This does
- // not feel natural for the user and therefore we want the VOL+/VOL- keys
- // map to -/+.
- //
- // The only exception is an active call in portrait mode where we want to
- // use the real meanings of the keys. This special case and management of
- // +/- keys in general is handled in maemo-statusmenu-volume.
- key <FK07> { [ F8 ] };
- key <FK08> { [ F7 ] };
-
- key <FK09> { [ F9 ] };
- key <FK10> { [ F10 ] };
- key <FK11> { [ F11 ] };
-};
-
-partial hidden alphanumeric_keys modifier_keys
-xkb_symbols "modifiers" {
- // Shift switches between current level and level+1
- key <LFSH> {
- type[Group1] = "ONE_LEVEL",
- symbols[Group1] = [ Shift_L ]
- };
- modifier_map Shift { Shift_L };
-
- // Fn+Ctrl virtual symbol table (Multi_key)
- // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon)
- key <LCTL> {
- type[Group1] = "FOUR_LEVEL",
- symbols[Group1] = [ Control_L, Control_L, Multi_key, Multi_key ]
- };
- modifier_map Control { Control_L };
-
- // Fn key (right alt) switches to 3rd level
- include "level3(ralt_switch)"
-};
-
-partial hidden alphanumeric_keys
-xkb_symbols "arrows_2btns" {
- // rx-51 specific arrows mapping
- // normal 2nd level must not be enumerated to allow text selection with Shift key
- key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, Up ] };
- key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, Down ] };
-};
-
-partial hidden alphanumeric_keys
-xkb_symbols "arrows_4btns" {
- // standard arrows mapping
- // normal 2nd level must not be enumerated to allow text selection with Shift key
- key <UP> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Up ] };
- key <LEFT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Left ] };
- key <DOWN> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Down ] };
- key <RGHT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Right ] };
-};
+default partial alphanumeric_keys
+xkb_symbols "common" {
+ include "nokia_vndr/rx-51(common_keys)"
+ include "nokia_vndr/rx-51(modifiers)"
+
+ key <BKSP> { [ BackSpace, Delete, BackSpace, Delete ] };
+
+ // This section should not be included by any other section.
+ // It's referenced only once by rule file to allow multiple layout configurations.
+
+ // More than one layout at the same time could be set for instance as follows:
+ // setxkbmap -rules evdev \
+ // -model nokiarx51 \
+ // -option grp:ctrl_shift_toggle \
+ // -layout us,cz \
+ // -variant ",qwerty"
+
+ // Notice the similarity:
+ // "pc+us+cz(qwerty):2+grp:XYZ" vs.
+ // "nokia_vndr/rx-51(common)+nokia_vndr/rx-51(us)+nokia_vndr/rx-51(cz_qwerty):2+grp:XYZ"
+ // where XYZ is one of xkb_symbols section usually located in file symbols/group.
+
+ // Bear in mind that option XYZ could replace current keys configuration!!!
+
+ // For instance using symbols/group(ctrl_shift_toggle) redefines LCTL and LFSH keys
+ // which may disallow opening of virtual symbol table (Multi_key).
+ // Fortunately the Multi_key is defined in 3rd and 4th level a ctrl_shift_toggle
+ // redefines first two levels only. But RX-51 has not right Ctrl nor Shift therefore
+ // pressing Ctrl+Shift will switch to previous layout, not to the next one.
+
+ // For RX-51 device there is a lot of restrictions if more than one layout is
+ // is configured at the same time because some modifiers and special cases are
+ // handled by hildon layer (especially with eight-level layout):
+ // - settings may be done from terminal only (GUI doesn't and won't support it)
+ // - virtual symbol table is not updated according to current layout
+ // - for unknown reasons the eight-level layout (nordic,ru) works properly
+ // only if it's configured as first layout (e.g. "ru,us,cz" not "us,cz,ru")
+ // otherwise it's not possible to access levels 5-8
+ // - Ctrl+Space related problems:
+ // - If eight-level layout is used as first layout one of eight-level layouts has to
+ // be also chosen in GUI - otherwise the Ctrl+Space "switch" is disabled
+ // - Ctrl+Space has no effect if only four-level layouts are chosen
+ // (don't forget the layout configured in GUI - despite of it's not reachable)
+ // - a few keys in 2nd layer could be mixed with other layouts when Ctrl+Space is "turned on" (why?)
+ // in case eight- and four-level layouts are configured simultaneously
+ // - Ctrl+Space is "turned on" by default and has to be "turned off" for four-level layouts
+ // in case eight- and four-level layouts are configured simultaneously
+ // - four-level layout on first place doesn't work at all when Ctrl+Space is "turned on"
+ // in case the 2nd, 3rd or 4th layout is eight-level layout
+};
+
+////////////////////////////////////////////////////////////////////////////////
+
+partial alphanumeric_keys
+xkb_symbols "us" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "pl" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "Polish";
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "fise" {
+ include "nokia_vndr/rx-51(nordic_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Finnish/Swedish";
+
+ // 2. row
+ key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] };
+ key <UP> { [ adiaeresis, Adiaeresis, question, question ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "dano" {
+ include "nokia_vndr/rx-51(nordic_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Danish/Norwegian";
+
+ // 2. row
+ key <AB09> { [ oslash, Oslash, exclam, exclam ] };
+ key <UP> { [ ae, AE, question, question ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "nordic" {
+ include "nokia_vndr/rx-51(nordic_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Danish/Finnish/Norwegian/Swedish";
+
+ key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
+
+ // 2. row
+ key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam, oslash, Oslash, exclam, exclam ] };
+ key <UP> { [ adiaeresis, Adiaeresis, question, question, ae, AE, question, question ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "ptes" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Portuguese/Spanish";
+
+ // 1. row
+ key <AB08> { [ dead_acute, dead_acute, dead_grave, dead_grave ] };
+
+ // 2. row
+ key <AC05> { [ g, G, exclamdown, exclamdown ] };
+ key <AC06> { [ h, H, exclam, exclam ] };
+ key <AC07> { [ j, J, questiondown, questiondown ] };
+ key <AC08> { [ k, K, question, question ] };
+ key <AC09> { [ l, L, dead_diaeresis, dead_diaeresis ] };
+ key <AB09> { [ ntilde, Ntilde, dead_tilde, dead_tilde ] };
+ key <UP> { [ ccedilla, Ccedilla, dead_circumflex,dead_circumflex ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, parenleft, parenleft ] };
+ key <AB02> { [ x, X, parenright, parenright ] };
+ key <AB03> { [ c, C, slash, slash ] };
+ key <AB04> { [ v, V, quotedbl, quotedbl ] };
+ key <AB05> { [ b, B, apostrophe, apostrophe ] };
+ key <AB06> { [ n, N, colon, colon ] };
+ key <AB07> { [ m, M, semicolon, semicolon ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "fr" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "French";
+
+ // 1. row
+ key <AD01> { [ a, A, 1, 1 ] };
+ key <AD02> { [ z, Z, 2, 2 ] };
+ key <AB08> { [ agrave, Agrave, ccedilla, Ccedilla ] };
+
+ // 2. row
+ key <AC01> { [ q, Q, asterisk, asterisk ] };
+ key <AC02> { [ s, S, plus, plus ] };
+ key <AC03> { [ d, D, numbersign, numbersign ] };
+ key <AC04> { [ f, F, minus, minus ] };
+ key <AC05> { [ g, G, underscore, underscore ] };
+ key <AC06> { [ h, H, exclam, exclam ] };
+ key <AC07> { [ j, J, question, question ] };
+ key <AC08> { [ k, K, colon, colon ] };
+ key <AC09> { [ l, L, dead_circumflex,dead_circumflex ] };
+ key <AB09> { [ m, M, ugrave, Ugrave ] };
+ key <UP> { [ eacute, Eacute, egrave, Egrave ] };
+
+ // 3. row
+ key <AB01> { [ w, W, EuroSign, EuroSign ] };
+ key <AB03> { [ c, C, parenleft, parenleft ] };
+ key <AB04> { [ v, V, parenright, parenright ] };
+ key <AB05> { [ b, B, slash, slash ] };
+ key <AB07> { [ comma, comma, apostrophe, apostrophe ] };
+ key <LEFT> { [ semicolon, period, period, period ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "de" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "German";
+
+ // 1. row
+ key <AD06> { [ z, Z, 6, 6 ] };
+ key <AB08> { [ udiaeresis, Udiaeresis, ssharp, ssharp ] };
+
+ // 2. row
+ key <AC08> { [ k, K, semicolon, semicolon ] };
+ key <AC09> { [ l, L, colon, colon ] };
+ key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] };
+ key <UP> { [ adiaeresis, Adiaeresis, question, question ] };
+
+ // 3. row
+ key <AB01> { [ y, Y, EuroSign, EuroSign ] };
+ key <AB03> { [ c, C, equal, equal ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "ch" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Swiss";
+
+ // 1. row
+ key <AD06> { [ z, Z, 6, 6 ] };
+ key <AB08> { [ udiaeresis, Udiaeresis, egrave, Egrave ] };
+
+ // 2. row
+ key <AC06> { [ h, H, equal, equal ] };
+ key <AC07> { [ j, J, parenleft, parenleft ] };
+ key <AC08> { [ k, K, parenright, parenright ] };
+ key <AC09> { [ l, L, colon, colon ] };
+ key <AB09> { [ odiaeresis, Odiaeresis, eacute, Aacute ] };
+ key <UP> { [ adiaeresis, Adiaeresis, agrave, Agrave ] };
+
+ // 3. row
+ key <AB01> { [ y, Y, question, question ] };
+ key <AB02> { [ x, X, exclam, exclam ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+
+
+// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons.
+partial alphanumeric_keys
+xkb_symbols "ru" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Russian";
+
+ key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] };
+ key <AD02> { [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] };
+ key <AD03> { [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] };
+ key <AD04> { [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] };
+ key <AD05> { [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] };
+ key <AD06> { [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] };
+ key <AD07> { [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] };
+ key <AD08> { [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] };
+ key <AD09> { [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] };
+ key <AD10> { [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] };
+ key <AB08> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+
+ // 2. row
+ key <AC01> { [ a, A, asterisk, asterisk, Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] };
+ key <AC02> { [ s, S, plus, plus, Cyrillic_yeru, Cyrillic_YERU, plus, plus ] };
+ key <AC03> { [ d, D, numbersign, numbersign, Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] };
+ key <AC04> { [ f, F, minus, minus, Cyrillic_a, Cyrillic_A, minus, minus ] };
+ key <AC05> { [ g, G, underscore, underscore, Cyrillic_pe, Cyrillic_PE, underscore, underscore ] };
+ key <AC06> { [ h, H, exclam, exclam, Cyrillic_er, Cyrillic_ER, exclam, exclam ] };
+ key <AC07> { [ j, J, question, question, Cyrillic_o, Cyrillic_O, question, question ] };
+ key <AC08> { [ k, K, semicolon, semicolon, Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] };
+ key <AC09> { [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] };
+ key <AB09> { [ comma, comma, comma, comma, Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] };
+ key <UP> { [ period, period, period, period, Cyrillic_e, Cyrillic_E, period, period ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, dollar, dollar, Cyrillic_ya, Cyrillic_YA, dollar, dollar ] };
+ key <AB02> { [ x, X, EuroSign, EuroSign, Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] };
+ key <AB03> { [ c, C, slash, slash, Cyrillic_es, Cyrillic_ES, slash, slash ] };
+ key <AB04> { [ v, V, parenleft, parenleft, Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] };
+ key <AB05> { [ b, B, parenright, parenright, Cyrillic_i, Cyrillic_I, parenright, parenright ] };
+ key <AB06> { [ n, N, quotedbl, quotedbl, Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] };
+ key <AB07> { [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] };
+ key <LEFT> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU, Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "it" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Italian";
+
+ // 1. row
+ key <AB08> { [ egrave, Egrave, eacute, Eacute ] };
+
+ // 2. row
+ key <AC06> { [ h, H, semicolon, semicolon ] };
+ key <AC07> { [ j, J, colon, colon ] };
+ key <AC08> { [ k, K, exclam, exclam ] };
+ key <AC09> { [ l, L, question, question ] };
+ key <AB09> { [ ograve, Ograve, igrave, Igrave ] };
+ key <UP> { [ agrave, Agrave, ugrave, Ugrave ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, EuroSign, EuroSign ] };
+ key <AB02> { [ x, X, parenleft, parenleft ] };
+ key <AB03> { [ c, C, parenright, parenright ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "cz" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Czech";
+
+ // 1. row
+ key <AD06> { [ z, Z, 6, 6 ] };
+ key <AB08> { [ dead_acute, dead_acute, sterling, sterling ] };
+
+ // 2. row
+ key <AC08> { [ k, K, semicolon, semicolon ] };
+ key <AC09> { [ l, L, colon, colon ] };
+ key <AB09> { [ uring, Uring, EuroSign, EuroSign ] };
+ key <UP> { [ dead_caron, dead_caron, dollar, dollar ] };
+
+ // 3. row
+ key <AB01> { [ y, Y, equal, equal ] };
+ key <AB02> { [ x, X, slash, slash ] };
+ key <AB03> { [ c, C, backslash, backslash ] };
+ key <AB04> { [ v, V, apostrophe, apostrophe ] };
+ key <AB05> { [ b, B, quotedbl, quotedbl ] };
+ key <AB06> { [ n, N, exclam, exclam ] };
+ key <AB07> { [ m, M, question, question ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "cz_qwerty" {
+ include "nokia_vndr/rx-51(cz)"
+
+ name[Group1] = "Czech - qwerty";
+
+ // Do not use the layout "cz_qwerty" directly if it is the only layout and compat rules enabled.
+ // There is one compat rule that converts "cz_qwerty" to "pc+cz(qwerty)" which is not correct for RX-51.
+ // Use either the layout "cz(qwerty)" or the general "cz" with variant "qwerty".
+
+ // 1. row
+ key <AD06> { [ y, Y, 6, 6 ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, percent, percent ] };
+};
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+
+partial hidden alphanumeric_keys
+xkb_symbols "nordic_base" {
+ include "nokia_vndr/rx-51(english_base)"
+
+ // 1. row
+ key <AB08> { [ aring, Aring, equal, equal ] };
+
+ // 2. row
+ key <AC08> { [ k, K, semicolon, semicolon ] };
+ key <AC09> { [ l, L, colon, colon ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, EuroSign, EuroSign ] };
+ key <AB03> { [ c, C, sterling, sterling ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "english_base" {
+
+ // 1. row
+ key <AD01> { [ q, Q, 1, 1 ] };
+ key <AD02> { [ w, W, 2, 2 ] };
+ key <AD03> { [ e, E, 3, 3 ] };
+ key <AD04> { [ r, R, 4, 4 ] };
+ key <AD05> { [ t, T, 5, 5 ] };
+ key <AD06> { [ y, Y, 6, 6 ] };
+ key <AD07> { [ u, U, 7, 7 ] };
+ key <AD08> { [ i, I, 8, 8 ] };
+ key <AD09> { [ o, O, 9, 9 ] };
+ key <AD10> { [ p, P, 0, 0 ] };
+ key <AB08> { [ comma, semicolon, equal, equal ] };
+
+ // 2. row
+ key <AC01> { [ a, A, asterisk, asterisk ] };
+ key <AC02> { [ s, S, plus, plus ] };
+ key <AC03> { [ d, D, numbersign, numbersign ] };
+ key <AC04> { [ f, F, minus, minus ] };
+ key <AC05> { [ g, G, underscore, underscore ] };
+ key <AC06> { [ h, H, parenleft, parenleft ] };
+ key <AC07> { [ j, J, parenright, parenright ] };
+ key <AC08> { [ k, K, ampersand, ampersand ] };
+ key <AC09> { [ l, L, exclam, exclam ] };
+ key <AB09> { [ period, colon, question, question ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, sterling, sterling ] };
+ key <AB02> { [ x, X, dollar, dollar ] };
+ key <AB03> { [ c, C, EuroSign, EuroSign ] };
+ key <AB04> { [ v, V, slash, slash ] };
+ key <AB05> { [ b, B, backslash, backslash ] };
+ key <AB06> { [ n, N, quotedbl, quotedbl ] };
+ key <AB07> { [ m, M, apostrophe, apostrophe ] };
+ key <SPCE> { [ space, space, at, at ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "common_keys" {
+ // all other common keys
+
+ key <BKSP> { [ BackSpace ] };
+ key <TAB> { [ Tab ] };
+
+ // broken UI spec.
+ key <RTRN> { [ KP_Enter ] };
+
+ key <KPEN> { [ Return ] };
+ key <ESC> { [ Escape ] };
+
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+
+ // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically
+ // on left/right and up/down in landscape/portrait orientation. This does
+ // not feel natural for the user and therefore we want the VOL+/VOL- keys
+ // map to -/+.
+ //
+ // The only exception is an active call in portrait mode where we want to
+ // use the real meanings of the keys. This special case and management of
+ // +/- keys in general is handled in maemo-statusmenu-volume.
+ key <FK07> { [ F8 ] };
+ key <FK08> { [ F7 ] };
+
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+};
+
+partial hidden alphanumeric_keys modifier_keys
+xkb_symbols "modifiers" {
+ // Shift switches between current level and level+1
+ key <LFSH> {
+ type[Group1] = "ONE_LEVEL",
+ symbols[Group1] = [ Shift_L ]
+ };
+ modifier_map Shift { Shift_L };
+
+ // Fn+Ctrl virtual symbol table (Multi_key)
+ // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon)
+ key <LCTL> {
+ type[Group1] = "FOUR_LEVEL",
+ symbols[Group1] = [ Control_L, Control_L, Multi_key, Multi_key ]
+ };
+ modifier_map Control { Control_L };
+
+ // Fn key (right alt) switches to 3rd level
+ include "level3(ralt_switch)"
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "arrows_2btns" {
+ // rx-51 specific arrows mapping
+ // normal 2nd level must not be enumerated to allow text selection with Shift key
+ key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, Up ] };
+ key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, Down ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "arrows_4btns" {
+ // standard arrows mapping
+ // normal 2nd level must not be enumerated to allow text selection with Shift key
+ key <UP> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Up ] };
+ key <LEFT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Left ] };
+ key <DOWN> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Down ] };
+ key <RGHT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Right ] };
+};
+
+// author: Roman Moravcik
+xkb_symbols "sk" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Slovak QWERTZ (CZ HW)";
+
+ // 1. row
+ key <AD06> { [ z, Z, 6, 6 ] };
+ key <AB08> { [ dead_acute, dead_acute, sterling, sterling ] };
+
+ // 2. row
+ key <AC08> { [ k, K, semicolon, semicolon ] };
+ key <AC09> { [ l, L, colon, colon ] };
+ key <AB09> { [ ocircumflex, adiaeresis, EuroSign, EuroSign ] };
+ key <UP> { [ dead_caron, bar, dollar, dollar ] };
+
+ // 3. row
+ key <AB01> { [ y, Y, equal, equal ] };
+ key <AB02> { [ x, X, slash, slash ] };
+ key <AB03> { [ c, C, backslash, backslash ] };
+ key <AB04> { [ v, V, apostrophe, apostrophe ] };
+ key <AB05> { [ b, B, quotedbl, quotedbl ] };
+ key <AB06> { [ n, N, exclam, exclam ] };
+ key <AB07> { [ m, M, question, question ] };
+ key <LEFT> { [ period, Tab, comma, comma ] };
+};
+
+xkb_symbols "sk_qwerty" {
+ include "nokia_vndr/rx-51(sk)"
+
+ name[Group1] = "Slovak QWERTY (CZ hw)";
+
+ // 1. row
+ key <AD06> { [ y, Y, 6, 6 ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, equal, equal ] };
+};
+
+// author: Roman Moravcik
+partial alphanumeric_keys
+xkb_symbols "aren" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Arabic";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ Arabic_dad, Arabic_fatha, 0x1000661, 0x1000661 ] };
+ key <AD02> { symbols[Group2] = [ Arabic_sad, Arabic_fathatan, 0x1000662, 0x1000662 ] };
+ key <AD03> { symbols[Group2] = [ Arabic_theh, Arabic_damma, 0x1000663, 0x1000663 ] };
+ key <AD04> { symbols[Group2] = [ Arabic_qaf, Arabic_dammatan, 0x1000664, 0x1000664 ] };
+ key <AD05> { symbols[Group2] = [ Arabic_feh, 0x100fef9, 0x1000665, 0x1000665 ] };
+ key <AD06> { symbols[Group2] = [ Arabic_ghain, Arabic_hamzaunderalef, 0x1000666, 0x1000666 ] };
+ key <AD07> { symbols[Group2] = [ Arabic_ain, rightsinglequotemark, 0x1000667, 0x1000667 ] };
+ key <AD08> { symbols[Group2] = [ Arabic_ha, Arabic_tehmarbuta, 0x1000668, 0x1000668 ] };
+ key <AD09> { symbols[Group2] = [ Arabic_khah, division, 0x1000669, 0x1000669 ] };
+ key <AD10> { symbols[Group2] = [ Arabic_hah, multiply, 0x1000660, 0x1000660 ] };
+ key <AB08> { symbols[Group2] = [ Arabic_jeem, period, equal, equal ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ Arabic_sheen, Arabic_kasra, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ Arabic_seen, Arabic_kasratan, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ Arabic_yeh, Arabic_alefmaksura, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ Arabic_beh, Arabic_hamzaonyeh, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ Arabic_lam, 0x100fef7, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ Arabic_alef, Arabic_hamzaonalef, parenright, parenright ] };
+ key <AC07> { symbols[Group2] = [ Arabic_teh, Arabic_tatweel, parenleft, parenleft ] };
+ key <AC08> { symbols[Group2] = [ Arabic_noon, Arabic_comma, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ Arabic_meem, Arabic_semicolon, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ Arabic_kaf, colon, Arabic_question_mark, Arabic_question_mark ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ Arabic_thal, Arabic_shadda, sterling, sterling ] };
+ key <AB02> { symbols[Group2] = [ Arabic_dal, Arabic_sukun, dollar, dollar ] };
+ key <AB03> { symbols[Group2] = [ Arabic_waw, Arabic_hamzaonwaw, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ Arabic_ra, 0x100fef5, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ Arabic_zain, 0x100fefb, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ Arabic_tah, Arabic_maddaonalef, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ Arabic_zah, Arabic_hamza, apostrophe, apostrophe ] };
+};
+
+// author: Hessam Farhang
+partial alphanumeric_keys
+xkb_symbols "faen" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Persian";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ Arabic_dad, Arabic_sukun, 0x10006f1, 0x1000661 ] };
+ key <AD02> { symbols[Group2] = [ Arabic_sad, Arabic_dammatan, 0x10006f2, 0x1000662 ] };
+ key <AD03> { symbols[Group2] = [ Arabic_theh, Arabic_kasratan, 0x10006f3, 0x1000663 ] };
+ key <AD04> { symbols[Group2] = [ Arabic_qaf, Arabic_fathatan, 0x10006f4, 0x1000664 ] };
+ key <AD05> { symbols[Group2] = [ Arabic_feh, Arabic_damma, 0x10006f5, 0x1000665 ] };
+ key <AD06> { symbols[Group2] = [ Arabic_ghain, Arabic_kasra, 0x10006f6, 0x1000666 ] };
+ key <AD07> { symbols[Group2] = [ Arabic_ain, Arabic_fatha, 0x10006f7, 0x1000667 ] };
+ key <AD08> { symbols[Group2] = [ Arabic_heh, Arabic_shadda, 0x10006f8, 0x1000668 ] };
+ key <AD09> { symbols[Group2] = [ Arabic_khah, 0x10006af, 0x10006f9, 0x1000669 ] };
+ key <AD10> { symbols[Group2] = [ Arabic_hah, 0x1000686, 0x10006f0, 0x1000660 ] };
+ key <AB08> { symbols[Group2] = [ Arabic_jeem, Arabic_comma, comma, Arabic_semicolon ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ Arabic_sheen, Arabic_hamzaonwaw, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ Arabic_seen, Arabic_hamzaonyeh, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ 0x10006cc, period, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ Arabic_beh, colon, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ Arabic_lam, Arabic_hamzaonalef, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ Arabic_alef, Arabic_maddaonalef, parenleft, parenleft ] };
+ key <AC07> { symbols[Group2] = [ Arabic_teh, Arabic_tehmarbuta, parenright, parenright ] };
+ key <AC08> { symbols[Group2] = [ Arabic_noon, guillemotright, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ Arabic_meem, guillemotleft, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ 0x10006a9, Arabic_waw, Arabic_question_mark, colon ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ Arabic_zah, Arabic_kaf, sterling, period ] };
+ key <AB02> { symbols[Group2] = [ Arabic_tah, 0x1000653, dollar, dollar ] };
+ key <AB03> { symbols[Group2] = [ Arabic_zain, 0x1000698, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ Arabic_ra, 0x1000670, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ Arabic_thal, 0x100200c, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ Arabic_dal, 0x1000654, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ 0x100067e, Arabic_hamza, apostrophe, apostrophe ] };
+};
+
+// author: Jaroslav Poriz
+xkb_symbols "dv" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "Dvorak";
+
+ // 1. row
+ key <AD01> { [ colon, semicolon, 1, 1 ] };
+ key <AD02> { [ w, W, 2, 2 ] };
+ key <AD03> { [ v, V, 3, 3 ] };
+ key <AD04> { [ p, P, 4, 4 ] };
+ key <AD05> { [ y, Y, 5, 5 ] };
+ key <AD06> { [ f, F, 6, 6 ] };
+ key <AD07> { [ g, G, 7, 7 ] };
+ key <AD08> { [ c, C, 8, 8 ] };
+ key <AD09> { [ r, R, 9, 9 ] };
+ key <AD10> { [ l, L, 0, 0 ] };
+ key <AB08> { [ period, comma, equal, equal ] };
+
+ // 2. row
+ key <AC01> { [ a, A, asterisk, asterisk ] };
+ key <AC02> { [ o, O, plus, plus ] };
+ key <AC03> { [ e, E, numbersign, numbersign ] };
+ key <AC04> { [ u, U, minus, minus ] };
+ key <AC05> { [ i, I, underscore, underscore ] };
+ key <AC06> { [ d, D, exclam, parenleft ] };
+ key <AC07> { [ h, H, question, parenright ] };
+ key <AC08> { [ t, T, ampersand, ampersand ] };
+ key <AC09> { [ n, N, less, exclam ] };
+ key <AB09> { [ s, S, greater, question ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, asciitilde, asciitilde ] };
+ key <AB02> { [ q, Q, dollar, dollar ] };
+ key <AB03> { [ j, J, backslash, bar ] };
+ key <AB04> { [ k, K, grave, slash ] };
+ key <AB05> { [ x, X, parenleft, backslash ] };
+ key <AB06> { [ b, B, parenright, quotedbl ] };
+ key <AB07> { [ m, M, apostrophe, apostrophe ] };
+ key <SPCE> { [ space, slash, at, at ] };
+};
+
+// author: Porfyras <porfyras@gmail.com>
+// author: Roman Moravcik
+// author: Faidon Liambotis
+partial alphanumeric_keys
+xkb_symbols "gr" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Greek";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ period, colon, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ Greek_finalsmallsigma, Greek_SIGMA, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ Greek_epsilon, Greek_EPSILON, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ Greek_rho, Greek_RHO, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ Greek_tau, Greek_TAU, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ Greek_upsilon, Greek_UPSILON, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ Greek_theta, Greek_THETA, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ Greek_iota, Greek_IOTA, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ Greek_omicron, Greek_OMICRON, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ Greek_pi, Greek_PI, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ comma, semicolon, equal, equal ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ Greek_alpha, Greek_ALPHA, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ Greek_sigma, Greek_SIGMA, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ Greek_delta, Greek_DELTA, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ Greek_phi, Greek_PHI, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ Greek_gamma, Greek_GAMMA, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ Greek_eta, Greek_ETA, parenleft, parenleft ] };
+ key <AC07> { symbols[Group2] = [ Greek_xi, Greek_XI, parenright, parenright ] };
+ key <AC08> { symbols[Group2] = [ Greek_kappa, Greek_KAPPA, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ Greek_lamda, Greek_LAMDA, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ dead_acute, dead_diaeresis, question, question ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ Greek_zeta, Greek_ZETA, sterling, sterling ] };
+ key <AB02> { symbols[Group2] = [ Greek_chi, Greek_CHI, dollar, dollar ] };
+ key <AB03> { symbols[Group2] = [ Greek_psi, Greek_PSI, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ Greek_omega, Greek_OMEGA, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ Greek_beta, Greek_BETA, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ Greek_nu, Greek_NU, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ Greek_mu, Greek_MU, apostrophe, apostrophe ] };
+};
+
+// author: Ognian Samokovliyski
+// author: Kostadin Bashev
+// author: Roman Moravcik
+partial alphanumeric_keys
+xkb_symbols "bg_phonetic" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Bulgarian - Phonetic";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ Cyrillic_ya, Cyrillic_YA, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ Cyrillic_hardsign, Cyrillic_HARDSIGN, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ comma, semicolon, equal, equal ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, parenleft, parenleft ] };
+ key <AC07> { symbols[Group2] = [ Cyrillic_shorti, Cyrillic_SHORTI, parenright, parenright ] };
+ key <AC08> { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ period, colon, question, question ] };
+ key <UP> { symbols[Group2] = [ Cyrillic_yu, Cyrillic_YU, Up, Up ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, sterling, sterling ] };
+ key <AB02> { symbols[Group2] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN, dollar, dollar ] };
+ key <AB03> { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] };
+ key <LEFT> { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, Left, Left ] };
+ key <DOWN> { symbols[Group2] = [ Cyrillic_shcha, Cyrillic_SHCHA, Down, Down ] };
+ key <RGHT> { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Right, Right ] };
+};
+
+// author: Nikola Kovachevski
+partial alphanumeric_keys
+xkb_symbols "mk" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Macedonian";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ Cyrillic_lje, Cyrillic_LJE, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ Cyrillic_nje, Cyrillic_NJE, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ Macedonia_dse, Macedonia_DSE, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, equal, equal ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, parenleft, parenleft ] };
+ key <AC07> { symbols[Group2] = [ Cyrillic_je, Cyrillic_JE, parenright, parenright ] };
+ key <AC08> { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ period, comma, question, question ] };
+ key <UP> { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Up, Up ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, colon, colon ] };
+ key <AB02> { symbols[Group2] = [ Cyrillic_dzhe, Cyrillic_DZHE, semicolon, semicolon ] };
+ key <AB03> { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] };
+ key <LEFT> { symbols[Group2] = [ Macedonia_kje, Macedonia_KJE, Left, Left ] };
+ key <DOWN> { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, Down, Down ] };
+ key <RGHT> { symbols[Group2] = [ Macedonia_gje, Macedonia_GJE, Right, Right ] };
+};
+
+// author: Roman Moravcik
+partial alphanumeric_keys
+xkb_symbols "ru_phonetic" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Russian - Phonetic";
+ name[Group2] = "U.S. English";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group1] = [ Cyrillic_ya, Cyrillic_YA, 1, 1 ] };
+ key <AD02> { symbols[Group1] = [ Cyrillic_ve, Cyrillic_VE, 2, 2 ] };
+ key <AD03> { symbols[Group1] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] };
+ key <AD04> { symbols[Group1] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] };
+ key <AD05> { symbols[Group1] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] };
+ key <AD06> { symbols[Group1] = [ Cyrillic_yeru, Cyrillic_YERU, 6, 6 ] };
+ key <AD07> { symbols[Group1] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] };
+ key <AD08> { symbols[Group1] = [ Cyrillic_i, Cyrillic_I, 8, 8 ] };
+ key <AD09> { symbols[Group1] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] };
+ key <AD10> { symbols[Group1] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] };
+ key <AB08> { symbols[Group1] = [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <AD01> { symbols[Group2] = [ q, Q, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ w, W, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ e, E, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ r, R, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ t, T, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ y, Y, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ u, U, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ i, I, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ o, O, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ p, P, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ // 2. row
+ key <AC01> { symbols[Group1] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] };
+ key <AC02> { symbols[Group1] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] };
+ key <AC03> { symbols[Group1] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] };
+ key <AC04> { symbols[Group1] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] };
+ key <AC05> { symbols[Group1] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] };
+ key <AC06> { symbols[Group1] = [ Cyrillic_ha, Cyrillic_HA, exclam, exclam ] };
+ key <AC07> { symbols[Group1] = [ Cyrillic_shorti, Cyrillic_SHORTI, question, question ] };
+ key <AC08> { symbols[Group1] = [ Cyrillic_ka, Cyrillic_KA, semicolon, semicolon ] };
+ key <AC09> { symbols[Group1] = [ Cyrillic_el, Cyrillic_EL, colon, colon ] };
+ key <AB09> { symbols[Group1] = [ Cyrillic_yu, Cyrillic_YU, comma, comma ] };
+ key <UP> { symbols[Group1] = [ Cyrillic_e, Cyrillic_E, period, period ] };
+
+ key <AC01> { symbols[Group2] = [ a, A, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ s, S, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ d, D, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ f, F, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ g, G, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ h, H, exclam, exclam ] };
+ key <AC07> { symbols[Group2] = [ j, J, question, question ] };
+ key <AC08> { symbols[Group2] = [ k, K, semicolon, semicolon ] };
+ key <AC09> { symbols[Group2] = [ l, L, colon, colon ] };
+ key <AB09> { symbols[Group2] = [ comma, comma, comma, comma ] };
+ key <UP> { symbols[Group2] = [ period, period, period, period ] };
+
+ // 3. row
+ key <AB01> { symbols[Group1] = [ Cyrillic_ze, Cyrillic_ZE, dollar, dollar ] };
+ key <AB02> { symbols[Group1] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN, EuroSign, EuroSign ] };
+ key <AB03> { symbols[Group1] = [ Cyrillic_tse, Cyrillic_TSE, slash, slash ] };
+ key <AB04> { symbols[Group1] = [ Cyrillic_zhe, Cyrillic_ZHE, parenleft, parenleft ] };
+ key <AB05> { symbols[Group1] = [ Cyrillic_be, Cyrillic_BE, parenright, parenright ] };
+ key <AB06> { symbols[Group1] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group1] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] };
+ key <LEFT> { symbols[Group1] = [ Cyrillic_che, Cyrillic_CHE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+
+ key <AB01> { symbols[Group2] = [ z, Z, dollar, dollar ] };
+ key <AB02> { symbols[Group2] = [ x, X, EuroSign, EuroSign ] };
+ key <AB03> { symbols[Group2] = [ c, C, slash, slash ] };
+ key <AB04> { symbols[Group2] = [ v, V, parenleft, parenleft ] };
+ key <AB05> { symbols[Group2] = [ b, B, parenright, parenright ] };
+ key <AB06> { symbols[Group2] = [ n, N, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ m, M, apostrophe, apostrophe ] };
+ key <LEFT> { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+};
+
+// author: Roman Moravcik
+partial alphanumeric_keys
+xkb_symbols "he_phonetic" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Hebrew - Phonetic";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ hebrew_qoph, hebrew_qoph, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ hebrew_waw, hebrew_waw, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ hebrew_aleph, hebrew_aleph, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ hebrew_resh, hebrew_resh, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ hebrew_taw, hebrew_tet, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ hebrew_ayin, hebrew_ayin, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ hebrew_waw, hebrew_waw, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ hebrew_yod, hebrew_yod, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ hebrew_samech, hebrew_samech, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ hebrew_pe, hebrew_finalpe, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ comma, semicolon, equal, equal ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ hebrew_aleph, hebrew_aleph, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ hebrew_shin, hebrew_shin, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ hebrew_dalet, hebrew_dalet, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ hebrew_pe, hebrew_finalpe, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ hebrew_gimel, hebrew_gimel, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ hebrew_he, hebrew_he, parenleft, parenleft ] };
+ key <AC07> { symbols[Group2] = [ hebrew_yod, hebrew_yod, parenright, parenright ] };
+ key <AC08> { symbols[Group2] = [ hebrew_kaph, hebrew_finalkaph, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ hebrew_lamed, hebrew_lamed, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ period, colon, question, question ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ hebrew_zain, hebrew_zain, sterling, sterling ] };
+ key <AB02> { symbols[Group2] = [ hebrew_chet, hebrew_chet, dollar, dollar ] };
+ key <AB03> { symbols[Group2] = [ hebrew_zade, hebrew_finalzade, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ hebrew_waw, hebrew_waw, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ hebrew_bet, hebrew_bet, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ hebrew_nun, hebrew_finalnun, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ hebrew_mem, hebrew_finalmem, apostrophe, apostrophe ] };
+};
+
+// author: Roman Moravcik
+partial alphanumeric_keys
+xkb_symbols "he" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Hebrew";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ hebrew_taw, hebrew_taw, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ hebrew_finalzade, hebrew_finalzade, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ hebrew_qoph, hebrew_qoph, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ hebrew_resh, hebrew_resh, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ hebrew_aleph, hebrew_aleph, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ hebrew_tet, hebrew_tet, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ hebrew_waw, hebrew_waw, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ hebrew_finalnun, hebrew_finalnun, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ hebrew_finalmem, hebrew_finalmem, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ hebrew_pe, hebrew_pe, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ comma, semicolon, equal, equal ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ hebrew_shin, hebrew_shin, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ hebrew_dalet, hebrew_dalet, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ hebrew_gimel, hebrew_gimel, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ hebrew_kaph, hebrew_kaph, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ hebrew_ayin, hebrew_ayin, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ hebrew_yod, hebrew_yod, parenleft, parenleft ] };
+ key <AC07> { symbols[Group2] = [ hebrew_chet, hebrew_chet, parenright, parenright ] };
+ key <AC08> { symbols[Group2] = [ hebrew_lamed, hebrew_lamed, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ hebrew_finalkaph, period, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ hebrew_finalpe, colon, question, question ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ hebrew_zain, hebrew_zain, sterling, sterling ] };
+ key <AB02> { symbols[Group2] = [ hebrew_samech, hebrew_samech, dollar, dollar ] };
+ key <AB03> { symbols[Group2] = [ hebrew_bet, hebrew_bet, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ hebrew_he, hebrew_he, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ hebrew_nun, hebrew_nun, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ hebrew_mem, hebrew_mem, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ hebrew_zade, hebrew_zade, apostrophe, apostrophe ] };
+};
+
+// author: David Gegechkori
+partial alphanumeric_keys
+xkb_symbols "ge" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Georgian - Latin";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ 0x010010e5, Q, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ 0x010010ec, 0x010010ed, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ 0x010010d4, E, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ 0x010010e0, 0x010010e6, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ 0x010010e2, 0x010010d7, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ 0x010010e7, Y, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ 0x010010e3, U, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ 0x010010d8, I, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ 0x010010dd, O, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ 0x010010de, P, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ comma, semicolon, equal, equal ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ 0x010010d0, A, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ 0x010010e1, 0x010010e8, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ 0x010010d3, D, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ 0x010010e4, F, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ 0x010010d2, G, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ 0x010010f0, H, parenleft, parenleft ] };
+ key <AC07> { symbols[Group2] = [ 0x010010ef, 0x010010df, parenright, parenright ] };
+ key <AC08> { symbols[Group2] = [ 0x010010d9, K, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ 0x010010da, L, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ period, colon, question, question ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ 0x010010d6, 0x010010eb, sterling, sterling ] };
+ key <AB02> { symbols[Group2] = [ 0x010010ee, X, dollar, dollar ] };
+ key <AB03> { symbols[Group2] = [ 0x010010ea, 0x010010e9, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ 0x010010d5, V, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ 0x010010d1, B, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ 0x010010dc, N, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ 0x010010db, M, apostrophe, apostrophe ] };
+};
+
+// author: Eriks Jansons
+partial alphanumeric_keys
+xkb_symbols "lv" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Latvian";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ q, Q, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ w, W, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ emacron, Emacron, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ rcedilla, Rcedilla, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ t, T, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ y, Y, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ umacron, Umacron, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ imacron, Imacron, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ omacron, Omacron, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ p, P, 0, 0 ] };
+ key <AB08> { symbols[Group1] = [ ISO_Group_Latch, semicolon, equal, equal],
+ symbols[Group2] = [ comma, semicolon, equal, equal ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ amacron, Amacron, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ scaron, Scaron, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ d, D, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ f, F, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ gcedilla, Gcedilla, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ h, H, parenleft, parenleft ] };
+ key <AC07> { symbols[Group2] = [ j, J, parenright, parenright ] };
+ key <AC08> { symbols[Group2] = [ kcedilla, Kcedilla, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ lcedilla, Lcedilla, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ period, colon, question, question ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ zcaron, Zcaron, sterling, sterling ] };
+ key <AB02> { symbols[Group2] = [ x, X, dollar, dollar ] };
+ key <AB03> { symbols[Group2] = [ ccaron, Ccaron, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ v, V, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ b, B, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ ncedilla, Ncedilla, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ m, M, apostrophe, apostrophe ] };
+};
+
+// author: Aleksandar Urosevic
+partial alphanumeric_keys
+xkb_symbols "sr_cyrillic" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Serbian - Cyrillic";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ Cyrillic_lje, Cyrillic_LJE, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ Cyrillic_nje, Cyrillic_NJE, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, equal, equal ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, parenleft, parenleft ] };
+ key <AC07> { symbols[Group2] = [ Cyrillic_je, Cyrillic_JE, parenright, parenright ] };
+ key <AC08> { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ period, comma, question, question ] };
+ key <UP> { symbols[Group2] = [ Serbian_dje, Serbian_DJE, Up, Up ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, colon, colon ] };
+ key <AB02> { symbols[Group2] = [ Cyrillic_dzhe, Cyrillic_DZHE, semicolon, semicolon ] };
+ key <AB03> { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, EuroSign, EuroSign ] };
+ key <AB04> { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] };
+ key <LEFT> { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Left, Left ] };
+ key <DOWN> { symbols[Group2] = [ Serbian_tshe, Serbian_TSHE, Down, Down ] };
+ key <RGHT> { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, Right, Right ] };
+};
+
+// author: Roman Moravcik
+// author: Tarick
+partial alphanumeric_keys
+xkb_symbols "ua_phonetic" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Ukrainian - Phonetic";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group1] = [ q, Q, 1, 1 ] };
+ key <AD02> { symbols[Group1] = [ w, W, 2, 2 ] };
+ key <AD03> { symbols[Group1] = [ e, E, 3, 3 ] };
+ key <AD04> { symbols[Group1] = [ r, R, 4, 4 ] };
+ key <AD05> { symbols[Group1] = [ t, T, 5, 5 ] };
+ key <AD06> { symbols[Group1] = [ y, Y, 6, 6 ] };
+ key <AD07> { symbols[Group1] = [ u, U, 7, 7 ] };
+ key <AD08> { symbols[Group1] = [ i, I, 8, 8 ] };
+ key <AD09> { symbols[Group1] = [ o, O, 9, 9 ] };
+ key <AD10> { symbols[Group1] = [ p, P, 0, 0 ] };
+ key <AB08> { symbols[Group1] = [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <AD01> { symbols[Group2] = [ Cyrillic_ya, Cyrillic_YA, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ Ukrainian_i, Ukrainian_I, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ // 2. row
+ key <AC01> { symbols[Group1] = [ a, A, asterisk, asterisk ] };
+ key <AC02> { symbols[Group1] = [ s, S, plus, plus ] };
+ key <AC03> { symbols[Group1] = [ d, D, numbersign, numbersign ] };
+ key <AC04> { symbols[Group1] = [ f, F, minus, minus ] };
+ key <AC05> { symbols[Group1] = [ g, G, underscore, underscore ] };
+ key <AC06> { symbols[Group1] = [ h, H, exclam, exclam ] };
+ key <AC07> { symbols[Group1] = [ j, J, question, question ] };
+ key <AC08> { symbols[Group1] = [ k, K, semicolon, semicolon ] };
+ key <AC09> { symbols[Group1] = [ l, L, colon, colon ] };
+ key <AB09> { symbols[Group1] = [ comma, comma, comma, comma ] };
+ key <UP> { symbols[Group1] = [ period, period, period, period ] };
+
+ key <AC01> { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, exclam, exclam ] };
+ key <AC07> { symbols[Group2] = [ Cyrillic_shorti, Cyrillic_SHORTI, question, question ] };
+ key <AC08> { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, semicolon, semicolon ] };
+ key <AC09> { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, colon, colon ] };
+ key <AB09> { symbols[Group2] = [ Cyrillic_yu, Cyrillic_YU, comma, comma ] };
+ key <UP> { symbols[Group2] = [ Ukrainin_ie, Ukrainian_IE, period, period ] };
+
+ // 3. row
+ key <AB01> { symbols[Group1] = [ z, Z, dollar, dollar ] };
+ key <AB02> { symbols[Group1] = [ x, X, EuroSign, EuroSign ] };
+ key <AB03> { symbols[Group1] = [ c, C, slash, slash ] };
+ key <AB04> { symbols[Group1] = [ v, V, parenleft, parenleft ] };
+ key <AB05> { symbols[Group1] = [ b, B, parenright, parenright ] };
+ key <AB06> { symbols[Group1] = [ n, N, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group1] = [ m, M, apostrophe, apostrophe ] };
+ key <LEFT> { symbols[Group1] = [ Cyrillic_che, Cyrillic_CHE, Ukrainian_yi, Ukrainian_YI ] };
+
+ key <AB01> { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, dollar, dollar ] };
+ key <AB02> { symbols[Group2] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN, EuroSign, EuroSign ] };
+ key <AB03> { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, slash, slash ] };
+ key <AB04> { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, parenleft, parenleft ] };
+ key <AB05> { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, parenright, parenright ] };
+ key <AB06> { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] };
+ key <LEFT> { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Ukrainian_yi, Ukrainian_YI ] };
+};
+
+
+// author: Roman Moravcik
+// author: Tarick
+partial alphanumeric_keys
+xkb_symbols "ua" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Ukrainian";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group1] = [ q, Q, 1, 1 ] };
+ key <AD02> { symbols[Group1] = [ w, W, 2, 2 ] };
+ key <AD03> { symbols[Group1] = [ e, E, 3, 3 ] };
+ key <AD04> { symbols[Group1] = [ r, R, 4, 4 ] };
+ key <AD05> { symbols[Group1] = [ t, T, 5, 5 ] };
+ key <AD06> { symbols[Group1] = [ y, Y, 6, 6 ] };
+ key <AD07> { symbols[Group1] = [ u, U, 7, 7 ] };
+ key <AD08> { symbols[Group1] = [ i, I, 8, 8 ] };
+ key <AD09> { symbols[Group1] = [ o, O, 9, 9 ] };
+ key <AD10> { symbols[Group1] = [ p, P, 0, 0 ] };
+ key <AB08> { symbols[Group1] = [ Cyrillic_ha, Cyrillic_HA, Ukrainian_yi, Ukrainian_YI ] };
+
+ key <AD01> { symbols[Group2] = [ Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] };
+ key <AD02> { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, 2, 2 ] };
+ key <AD03> { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 3, 3 ] };
+ key <AD04> { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, 4, 4 ] };
+ key <AD05> { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 5, 5 ] };
+ key <AD06> { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, 6, 6 ] };
+ key <AD07> { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] };
+ key <AD08> { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, 8, 8 ] };
+ key <AD09> { symbols[Group2] = [ Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] };
+ key <AD10> { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, 0, 0 ] };
+ key <AB08> { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, Ukrainian_yi, Ukrainian_YI ] };
+
+ // 2. row
+ key <AC01> { symbols[Group1] = [ a, A, asterisk, asterisk ] };
+ key <AC02> { symbols[Group1] = [ s, S, plus, plus ] };
+ key <AC03> { symbols[Group1] = [ d, D, numbersign, numbersign ] };
+ key <AC04> { symbols[Group1] = [ f, F, minus, minus ] };
+ key <AC05> { symbols[Group1] = [ g, G, underscore, underscore ] };
+ key <AC06> { symbols[Group1] = [ h, H, exclam, exclam ] };
+ key <AC07> { symbols[Group1] = [ j, J, question, question ] };
+ key <AC08> { symbols[Group1] = [ k, K, semicolon, semicolon ] };
+ key <AC09> { symbols[Group1] = [ l, L, colon, colon ] };
+ key <AB09> { symbols[Group1] = [ comma, comma, comma, comma ] };
+ key <UP> { symbols[Group1] = [ period, period, period, period ] };
+
+ key <AC01> { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] };
+ key <AC02> { symbols[Group2] = [ Ukrainian_i, Ukrainian_I, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, exclam, exclam ] };
+ key <AC07> { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, question, question ] };
+ key <AC08> { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] };
+ key <AC09> { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, colon, colon ] };
+ key <AB09> { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] };
+ key <UP> { symbols[Group2] = [ Ukrainian_ie, Ukrainian_IE, period, period ] };
+
+ // 3. row
+ key <AB01> { symbols[Group1] = [ z, Z, dollar, dollar ] };
+ key <AB02> { symbols[Group1] = [ x, X, EuroSign, EuroSign ] };
+ key <AB03> { symbols[Group1] = [ c, C, slash, slash ] };
+ key <AB04> { symbols[Group1] = [ v, V, parenleft, parenleft ] };
+ key <AB05> { symbols[Group1] = [ b, B, parenright, parenright ] };
+ key <AB06> { symbols[Group1] = [ n, N, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group1] = [ m, M, apostrophe, apostrophe ] };
+ key <LEFT> { symbols[Group1] = [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] };
+
+ key <AB01> { symbols[Group2] = [ Cyrillic_ya, Cyrillic_YA, dollar, dollar ] };
+ key <AB02> { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] };
+ key <AB03> { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, slash, slash ] };
+ key <AB04> { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] };
+ key <AB05> { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, parenright, parenright ] };
+ key <AB06> { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] };
+ key <AB07> { symbols[Group2] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] };
+ key <LEFT> { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] };
+};
+
+// author: Mihai C.
+// created on 2010-10-31
+partial alphanumeric_keys
+xkb_symbols "ro" {
+ include "nokia_vndr/rx-51(english_base)"
+
+ name[Group1] = "Romanian";
+
+ key <UP> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Up, abreve ] };
+ key <LEFT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, 0x1000219 ] };
+ key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Down, 0x100021b ] };
+ key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, acircumflex ] };
+
+ key <AB01> { [ z, Z, icircumflex, Icircumflex] };
+};
+
+// author: Thanawit Lertruengpanya
+partial alphanumeric_keys
+xkb_symbols "th" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+ name[Group2] = "Thai Kedmanee";
+
+ key <SPCE> { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] };
+
+ key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { symbols[Group2] = [ Thai_maiyamok, Thai_leksun, Thai_lakkhangyao, plus ] };
+ key <AD02> { symbols[Group2] = [ Thai_saraaimaimalai, quotedbl, slash, Thai_leknung ] };
+ key <AD03> { symbols[Group2] = [ Thai_saraam, Thai_dochada, minus, Thai_leksong ] };
+ key <AD04> { symbols[Group2] = [ Thai_phophan, Thai_thonangmontho, Thai_phosamphao, Thai_leksam ] };
+ key <AD05> { symbols[Group2] = [ Thai_saraa, Thai_thothong, Thai_thothung, Thai_leksi ] };
+ key <AD06> { symbols[Group2] = [ Thai_maihanakat, Thai_nikhahit, Thai_sarau, Thai_sarauu ] };
+ key <AD07> { symbols[Group2] = [ Thai_saraii, Thai_maitri, Thai_saraue, Thai_baht ] };
+ key <AD08> { symbols[Group2] = [ Thai_rorua, Thai_nonen, Thai_khokhwai, Thai_lekha ] };
+ key <AD09> { symbols[Group2] = [ Thai_nonu, Thai_paiyannoi, Thai_totao, Thai_lekhok ] };
+ key <AD10> { symbols[Group2] = [ Thai_yoyak, Thai_yoying, Thai_chochan, Thai_lekchet ] };
+ key <AB08> { symbols[Group2] = [ Thai_bobaimai, Thai_thothan, Thai_khokhai, Thai_lekpaet ] };
+
+ // 2. row
+ key <AC01> { symbols[Group2] = [ Thai_fofan, Thai_ru, Thai_chochang, Thai_lekkao ] };
+ key <AC02> { symbols[Group2] = [ Thai_hohip, Thai_khorakhang, plus, plus ] };
+ key <AC03> { symbols[Group2] = [ Thai_kokai, Thai_topatak, numbersign, numbersign ] };
+ key <AC04> { symbols[Group2] = [ Thai_dodek, Thai_sarao, minus, minus ] };
+ key <AC05> { symbols[Group2] = [ Thai_sarae, Thai_chochoe, underscore, underscore ] };
+ key <AC06> { symbols[Group2] = [ Thai_maitho, Thai_maitaikhu, Thai_ngongu, period ] };
+ key <AC07> { symbols[Group2] = [ Thai_maiek, Thai_maichattawa, Thai_loling, comma ] };
+ key <AC08> { symbols[Group2] = [ Thai_saraaa, Thai_sorusi, ampersand, ampersand ] };
+ key <AC09> { symbols[Group2] = [ Thai_sosua, Thai_sosala, exclam, exclam ] };
+ key <AB09> { symbols[Group2] = [ Thai_wowaen, Thai_soso, question, question ] };
+
+ // 3. row
+ key <AB01> { symbols[Group2] = [ Thai_phophung, parenleft, Thai_moma, Thai_thophuthao ] };
+ key <AB02> { symbols[Group2] = [ Thai_popla, parenright, Thai_saraaimaimuan, Thai_lochula ] };
+ key <AB03> { symbols[Group2] = [ Thai_saraae, Thai_choching, Thai_fofa, Thai_lu ] };
+ key <AB04> { symbols[Group2] = [ Thai_oang, Thai_honokhuk, slash, slash ] };
+ key <AB05> { symbols[Group2] = [ Thai_sarai, Thai_phinthu, backslash, backslash ] };
+ key <AB06> { symbols[Group2] = [ Thai_sarauee, Thai_thanthakhat, Thai_khokhuat, Thai_khokhon ] };
+ key <AB07> { symbols[Group2] = [ Thai_thothahan, question, apostrophe, apostrophe ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/se b/xorg-server/xkeyboard-config/symbols/se
index fb5214c00..59a07dcd7 100644
--- a/xorg-server/xkeyboard-config/symbols/se
+++ b/xorg-server/xkeyboard-config/symbols/se
@@ -251,3 +251,62 @@ xkb_symbols "svdvorak" {
key <AB09> { [ v, V ] };
key <AB10> { [ z, Z ] };
};
+
+partial alphanumeric_keys
+xkb_symbols "swl" {
+
+//
+// Swedish Sign Language
+// ISO_639-3 language code: swl
+// (called “svenskt teckenspråk” in swedish)
+//
+// Author: Saašha Metsärantala saasha@acc.umu.se
+//
+// A sans-serif font is available at
+// http://www.acc.umu.se/home/saasha/typsnitt/swl_sans.ttf
+//
+
+ include "se(basic)"
+
+ name[Group1]="Swedish Sign Language";
+
+ key <AB01> { [ 0x110c925, 0x110c95f, 0x110c940, 0x110c99a ] };
+ key <AB02> { [ 0x110c96b, 0x110c933, 0x110c920, 0x110c98e ] };
+ key <AB03> { [ 0x110c949, 0x110c94b, 0x110c921, 0x110c99f ] };
+ key <AB04> { [ 0x110c923, 0x110c92d, 0x110c95c, 0x110c96e ] };
+ key <AB05> { [ 0x110c93b, 0x110c927, 0x110c908, 0x110c9a6 ] };
+ key <AB06> { [ 0x110c93a, 0x110c94c, 0x110c93e, 0x110c9a7 ] };
+ key <AB07> { [ 0x110c95b, 0x110c93f, 0x110c907, 0x110c992 ] };
+ key <AC01> { [ 0x110c973, 0x110c924, 0x110c93c, 0x110c9a4 ] };
+ key <AC02> { [ 0x110c972, 0x110c945, 0x110c91a, 0x110c99c ] };
+ key <AC03> { [ 0x110c979, 0x110c929, 0x110c916, 0x110c999 ] };
+ key <AC04> { [ 0x110c976, 0x110c975, 0x110c917, 0x110c994 ] };
+ key <AC05> { [ 0x110c95a, 0x110c926, 0x110c918, 0x110c996 ] };
+ key <AC06> { [ 0x110c96f, 0x110c932, 0x110c915, 0x110c998 ] };
+ key <AC07> { [ 0x110c942, 0x110c922, 0x110c913, 0x110c9a2 ] };
+ key <AC08> { [ 0x110c985, 0x110c94e, 0x110c914, 0x110c97a ] };
+ key <AC09> { [ 0x110c928, 0x110c948, 0x110c919, 0x110c9a5 ] };
+ key <AC10> { [ 0x110c970, 0x110c92b, 0x110c905, 0x110c991 ] };
+ key <AC11> { [ 0x110c92e, 0x110c944, 0x110c904, VoidSymbol ] };
+ key <AD01> { [ 0x110c96c, 0x110c92a, 0x110c900, 0x110c9a1 ] };
+ key <AD02> { [ 0x110c971, 0x110c930, 0x110c903, 0x110c99e ] };
+ key <AD03> { [ 0x110c987, 0x110c947, 0x110c90c, 0x110c96d ] };
+ key <AD04> { [ 0x110c986, 0x110c92c, 0x110c91b, 0x110c993 ] };
+ key <AD05> { [ 0x110c939, 0x110c94a, 0x110c911, 0x110c995 ] };
+ key <AD06> { [ 0x110c952, 0x110c943, 0x110c912, 0x110c99b ] };
+ key <AD07> { [ 0x110c978, 0x110c977, 0x110c95e, 0x110c9a3 ] };
+ key <AD08> { [ 0x110c951, 0x110c931, 0x110c91e, 0x110c997 ] };
+ key <AD09> { [ 0x110c90e, 0x110c946, 0x110c906, 0x110c9a0 ] };
+ key <AD10> { [ 0x110c91f, 0x110c961, 0x110c91c, VoidSymbol ] };
+ key <AD11> { [ 0x110c93d, 0x110c92f, 0x110c902, VoidSymbol ] };
+ key <AE01> { [ 0x110c953, 0x110c936, 0x110c988, 0x110c962 ] };
+ key <AE02> { [ 0x110c954, 0x110c957, 0x110c97d, 0x110c963 ] };
+ key <AE03> { [ 0x110c934, 0x110c937, 0x110c97e, 0x110c983 ] };
+ key <AE04> { [ 0x110c955, 0x110c958, 0x110c98a, 0x110c984 ] };
+ key <AE05> { [ 0x110c935, 0x110c938, 0x110c97f, 0x110c966 ] };
+ key <AE06> { [ 0x110c956, 0x110c959, 0x110c980, 0x110c967 ] };
+ key <AE07> { [ 0x110c960, 0x110c969, 0x110c982, 0x110c96a ] };
+ key <AE08> { [ 0x110c97c, 0x110c90b, 0x110c989, 0x110c964 ] };
+ key <AE09> { [ 0x110c97b, 0x110c90a, 0x110c98b, 0x110c965 ] };
+ key <AE10> { [ 0x110c974, 0x110c909, 0x110c98c, 0x110c968 ] };
+};