[Hero, G2 Touch Android Development] JD82:
parts {
portrait {
background {
image background_port.png
}
}
landscape {
background {
image background_land.png
}
}

device {
display {
width 320
height 480
x 0
y 0
}
}

controls_port {
buttons {
phone-dial {
image button_port.png
x 37
y 645
}
home {
image button_port.png
x 128
y 645
}
soft-left {
image button_port.png
x 218
y 645
}
phone-hangup {
image button_port.png
x 308
y 645
}

dpad-up {
image arrow_up.png
x 159
y 660
}
dpad-down {
image arrow_down.png
x 159
y 715
}
dpad-left {
image arrow_left.png
x 151
y 667
}
dpad-right {
image arrow_right.png
x 208
y 667
}
dpad-center {
image select.png
x 177
y 685
}

search {
image button_port.png
x 252
y 699
}
back {
image button_port.png
x 308
y 699
}

volume-up {
image volume_up_port.png
x 0
y 130
}
volume-down {
image volume_down_port.png
x 0
y 210
}
}
}

controls_land {
buttons {
phone-dial {
image button_land.png
x 645
y 308
}
home {
image button_land.png
x 645
y 217
}
soft-left {
image button_land.png
x 645
y 127
}
phone-hangup {
image button_land.png
x 645
y 36
}

dpad-up {
image arrow_up.png
x 667
y 151
}
dpad-down {
image arrow_down.png
x 667
y 206
}
dpad-left {
image arrow_left.png
x 660
y 158
}
dpad-right {
image arrow_right.png
x 715
y 158
}
dpad-center {
image select.png
x 685
y 176
}

search {
image button_land.png
x 699
y 91
}
back {
image button_land.png
x 699
y 35
}

volume-up {
image volume_up_land.png
x 130
y 340
}
volume-down {
image volume_down_land.png
x 210
y 340
}
}
}

keyboard {
background {
image keyboard.png
}
buttons {
1 {
image key.png
x 5
y 5
}
2 {
image key.png
x 42
y 5
}
3 {
image key.png
x 79
y 5
}
4 {
image key.png
x 116
y 5
}
5 {
image key.png
x 153
y 5
}
6 {
image key.png
x 190
y 5
}
7 {
image key.png
x 227
y 5
}
8 {
image key.png
x 264
y 5
}
9 {
image key.png
x 301
y 5
}
0 {
image key.png
x 338
y 5
}

q {
image key.png
x 5
y 41
}
w {
image key.png
x 42
y 41
}
e {
image key.png
x 79
y 41
}
r {
image key.png
x 116
y 41
}
t {
image key.png
x 153
y 41
}
y {
image key.png
x 190
y 41
}
u {
image key.png
x 227
y 41
}
i {
image key.png
x 264
y 41
}
o {
image key.png
x 301
y 41
}
p {
image key.png
x 338
y 41
}

a {
image key.png
x 5
y 77
}
s {
image key.png
x 42
y 77
}
d {
image key.png
x 79
y 77
}
f {
image key.png
x 116
y 77
}
g {
image key.png
x 153
y 77
}
h {
image key.png
x 190
y 77
}
j {
image key.png
x 227
y 77
}
k {
image key.png
x 264
y 77
}
l {
image key.png
x 301
y 77
}
DEL {
image key.png
x 338
y 77
}

CAP {
image key.png
x 5
y 113
}
z {
image key.png
x 42
y 113
}
x {
image key.png
x 79
y 113
}
c {
image key.png
x 116
y 113
}
v {
image key.png
x 153
y 113
}
b {
image key.png
x 190
y 113
}
n {
image key.png
x 227
y 113
}
m {
image key.png
x 264
y 113
}
PERIOD {
image key.png
x 301
y 113
}
ENTER {
image key.png
x 338
y 113
}

ALT {
image key.png
x 5
y 149
}
SYM {
image key.png
x 42
y 149
}
AT {
image key.png
x 79
y 149
}
SPACE {
image spacebar.png
x 116
y 149
}
SLASH {
image key.png
x 264
y 149
}
COMMA {
image key.png
x 301
y 149
}
ALT2 {
image key.png
x 338
y 149
}

}
}
}

layouts {
portrait {
width 800
height 800
color 0xe0e0e0
event EV_SW:0:1

part1 {
name portrait
x 0
y 0
}

part2 {
name landscape
x 800
y 0
}

part3 {
name device
x 42
y 115
}
part4 {
name controls_port
x 0
y 0
}
part5 {
name keyboard
x 413
y 280
}

}

landscape {
width 800
height 600
color 0xe0e0e0
event EV_SW:0:0

# the framework _always_ assume that the DPad
# has been physically rotated in landscape mode.
# however, with this skin, this is not the case
#
dpad-rotation 3

part1 {
name portrait
x 800
y 0
}

part2 {
name landscape
x 0
y 0
}

part3 {
name device
x 120
y 363
rotation 3
}

part4 {
name controls_land
x 0
y 0
}

part5 {
name keyboard
x 205
y 408
}
}
}

keyboard {
charmap qwerty2
}

network {
speed full
delay none
}

The work is not done only with The Gimp.