For now, just few things i need to setup in my keymap file:
What is the $NAME of the key "#" and when shift it gives "~" ?
Sounds like you might be using a US layout in your keymap which would have the 'Esc' register as '~' when used with 'Shift'. Can you pastebin your keymap.c?
From your picture, you have an odd board. In the US, AEKIIs had '#' as 'Shift+3' (with # being above the 3 on the cap), but in the UK the '#' was replaced by '£' (and £ being above the 3 on the cap). To get to either the '£' or the '#' hidden on each board, you would have to type 'Option+3'. Your board looks different than most so I'm not totally sure which of your keys has '#' on a sub-layer though (I do see you're in Croatia, so you have some ANSI variant I'm sure). A full shot of your board and your keymap.c should help us figure out how to get each of your keys in the right spot. If you are using the US layout in your keymap, then to get '#' you will want 'LSFT+3', but if you are using some foreign variation, then you may have more luck with 'LALT+3'.
I found an alternate way to bypass the problem. Even now I have some anomalies when my pc gets auto-shutdown due to low battery, some keys swap places after it resumes from standby/hibernate. But I'm pretty much happy with the results so far. Everyone has slightly different version of keyboard so there should be minor things everyone should be able to fix (like swaping some keys). I'll show you my final aekii.c file that I'm happy with.
More
#include "keymap_common.h"
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KEYMAP_EXT_ISO(
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,PAUS, NO,
Z, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, NLCK,EQL, PSLS,PAST,
TAB, Q, W, F, P, B, J, L, U, Y, SCLN, LBRC,RBRC,ENT, DEL, END, PGDN, P7, P8, P9, PMNS,
BSPC,A, R, S, T, G, K, N, E, I, O,QUOT,NUHS, P4, P5, P6, PPLS,
LSFT,GRV, X, C, D, V, NO, M, H, COMM,DOT, SLSH, RSFT, UP, P1, P2, P3,
LCTL,LGUI,LALT, SPC, RALT,RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT
),
};
const action_t PROGMEM fn_actions[] = {
};