Skip to main content

Patch for Swedish keyboard layout in osx2x

osx2x is a handly little program used to interface OS X with any X server. It basically extends your screen so that when the cursor is moved to (for example) right edge, the cursor and keyboard is mapped to the X server instead.

Anyhow, currently it does not support any other layouts than US or DE. This is a patch for the X11 portion of osx2x - not VNC.


//
// keymap.c
// osx2x
//
// Copyright (c) Michael Dales 2002, 2003
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// Neither the name of Michael Dales nor the names of its contributors may be
// used to endorse or promote products derived from this software without
// specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT S HALL THE COPYRIGHT OWNER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS I NTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//

/* snip */

const int keymap_us[128] = {
XK_a,
XK_s,
XK_d,
XK_f,
XK_h,
XK_g,
XK_z,
XK_x,
XK_c,
XK_v,
XK_section, // 10
XK_b,
XK_q,
XK_w,
XK_e,
XK_r,
XK_y,
XK_t,
XK_1,
XK_2,
XK_3, // 20
XK_4,
XK_6,
XK_5,
XK_dead_acute,
XK_9,
XK_7,
XK_plus,
XK_8,
XK_0,
XK_dead_diaeresis, // 30
XK_o,
XK_u,
XK_aring,
XK_i,
XK_p,
XK_Return,
XK_l,
XK_j,
XK_adiaeresis,
XK_k, //40
XK_odiaeresis,
XK_apostrophe,
XK_comma,
XK_minus,
XK_n,
XK_m,
XK_period,
XK_Tab,
XK_space,
XK_less, //50
XK_BackSpace,
-1,
XK_Escape,
XK_Super_R,
XK_Alt_L, // 55
XK_Shift_L,
XK_Caps_Lock,
XK_Meta_L,
XK_Control_L,
XK_Shift_R, // 60
XK_ISO_Level3_Shift,
XK_Control_R,
-1,
-1,
XK_KP_Decimal,
-1,
XK_KP_Multiply,
-1,
XK_KP_Add,
-1, // 70
-1,
-1,
-1,
-1,
XK_KP_Divide,
XK_KP_Enter,
XK_KP_Subtract,
XK_KP_Subtract,
-1,
-1, // 80
-1,
XK_KP_0,
XK_KP_1,
XK_KP_2,
XK_KP_3,
XK_KP_4,
XK_KP_5,
XK_KP_6,
XK_KP_7,
-1, // 90
XK_KP_8,
XK_KP_9,
-1,
-1,
-1,
XK_F5,
XK_F6,
XK_F7,
XK_F3,
XK_F8, // 100
XK_F9,
-1,
XK_F11,
-1,
-1,
-1,
-1,
-1,
XK_F10,
XK_Menu, // 110
XK_F12,
-1,
-1,
XK_Insert,
XK_Home,
XK_Page_Up,
XK_Delete,
XK_F4,
XK_End,
XK_F2, // 120
XK_Page_Down,
XK_F1,
XK_Left,
XK_Right,
XK_Down,
XK_Up,
-1,
};

Comments

Popular posts from this blog

Buying an IBM Mainframe

I bought an IBM mainframe for personal use. I am doing this for learning and figuring out how it works. If you are curious about what goes into this process, I hope this post will interest you. I am not the first one by far to do something like this. There are some people on the internet that I know have their own personal mainframes, and I have drawn inspiration from each and every one of them. You should follow them if you are interested in these things: @connorkrukosky @sebastian_wind @faultywarrior @kevinbowling1 This post is about buying an IBM z114 mainframe (picture 1) but should translate well to any of the IBM mainframes from z9 to z14. Picture 1: An IBM z114 mainframe in all its glory Source: IBM What to expect of the process Buying a mainframe takes time. I never spent so much time on a purchase before. In fact - I purchased my first apartment with probably less planning and research. Compared to buying an apartment you have no guard rails. You are left

System z on contemporary zLinux

IBM System z supports a handful of operating systems; z/VM, z/VSE, z/OS, z/TPF, and finally zLinux. All the earlier mentioned OSes are proprietary except for zLinux which is simply Linux with a fancy z in the name. zLinux is the term used to describe a Linux distribution compiled for S390 (31 bit) or S390X (64 bit). As we are talking about modern mainframes I will not be discussing S390, only S390X. There is a comfortable amount of distributions that support S390X - more or less all of the popular distributions do. In this  list  we find distributions like Debian, Ubuntu, Gentoo, Fedora, and RHEL. Noticeably Arch is missing but then again they only have an official port for x86-64. This is great - this means that we could download the latest Ubuntu, boot the DVD, and be up and running in no time, right? Well, sadly no. The devil is, as always, in the details. When compiling high level code like C/C++/Go the compiler needs to select an instruction set to use for the compiled binar

Brocade Fabric OS downloads

Fabric OS is what runs on the SAN switches I will be using for the mainframe. It has a bit of annoying upgrade path as the guldmyr blog can attest to. TL;DR is that you need to do minor upgrades (6.3 -> 6.4 -> 7.0 -> ... > 7.4) which requires you to get all  Fabric OS images for those versions. Not always easy. So, let's make it a bit easier. Hopefully this will not end up with the links being taken down, but at least it helped somebody I hope. These downloads worked for me and are hash-verified when I could find a hash to verify against. Use at your own risk etc. The URLs are: ftp://ftp.hp.com/pub/softlib/software13/COL59674/co-168954-1/v7.3.2a.zip ftp://ftp.hp.com/pub/softlib/software13/COL59674/co-157071-1/v7.2.1g.zip ftp://ftp.hp.com/pub/softlib/software13/COL59674/co-150357-1/v7.1.2b.zip ftp://ftp.hp.com/pub/softlib/software12/COL38684/co-133135-1/v7.0.2e.zip ftp://ftp.hp.com/pub/softlib/software13/COL22074/co-155018-1/v6.4.3h.zip ftp://ftp.hp.c