Added first version of Makefile + .gitignore
parent
6efec5af7d
commit
4f71aedbe6
@ -0,0 +1 @@
|
||||
*.xmodmap
|
@ -0,0 +1,132 @@
|
||||
# Tarmak 1-4 xmodmap file generator
|
||||
#
|
||||
# Run 'make' inside this directory to create a bunch of xmodmap files based
|
||||
# on your current layout, along with another set of xmodmap files to reset
|
||||
# back to your current layout
|
||||
|
||||
# File names
|
||||
FILE1=tarmak1.xmodmap
|
||||
FILE2=tarmak2.xmodmap
|
||||
FILE3=tarmak3.xmodmap
|
||||
FILE4=tarmak4.xmodmap
|
||||
FILER=reset.xmodmap
|
||||
|
||||
# Keycodes for letters/symbols in the QWERTY layout
|
||||
E=26
|
||||
R=27
|
||||
T=28
|
||||
Y=29
|
||||
O=32
|
||||
P=33
|
||||
S=39
|
||||
D=40
|
||||
F=41
|
||||
G=42
|
||||
J=44
|
||||
K=45
|
||||
SC=47
|
||||
N=57
|
||||
|
||||
# Function to swap keycode $(1) to $(2) - and save it to file $(3)
|
||||
swap = \
|
||||
xmodmap -pke | \
|
||||
grep "^keycode *$(2)" | \
|
||||
sed "s/keycode *$(2)/keycode $(1)/" >> $(3); \
|
||||
grep -v '^keycode *$(1)' $(FILER) > $(FILER).tmp; \
|
||||
mv $(FILER).tmp $(FILER); \
|
||||
xmodmap -pke | \
|
||||
grep "^keycode *$(1)" >> $(FILER)
|
||||
|
||||
all: tarmak1 tarmak2 tarmak3 tarmak4 endmsg
|
||||
|
||||
clean:
|
||||
rm -f $(FILE1)
|
||||
rm -f $(FILE2)
|
||||
rm -f $(FILE3)
|
||||
rm -f $(FILE4)
|
||||
rm -f $(FILER)
|
||||
|
||||
# Tarmak 1: E
|
||||
tarmak1:
|
||||
echo '! Tarmak 1' > $(FILE1)
|
||||
echo '! Reset Tarmak 1' >> $(FILER)
|
||||
# E => J
|
||||
$(call swap,$(E),$(J),$(FILE1))
|
||||
# J => N
|
||||
$(call swap,$(J),$(N),$(FILE1))
|
||||
# K => E
|
||||
$(call swap,$(K),$(E),$(FILE1))
|
||||
# N => K
|
||||
$(call swap,$(N),$(K),$(FILE1))
|
||||
|
||||
# Tarmak 2: ET
|
||||
tarmak2: tarmak1
|
||||
grep -v '$(G)\|$(E)\|$(F)\|$(T)' $(FILE1) > $(FILE2)
|
||||
echo '! Tarmak 2' >> $(FILE2)
|
||||
echo '! Reset Tarmak 2' >> $(FILER)
|
||||
# G => J
|
||||
$(call swap,$(G),$(J),$(FILE2))
|
||||
# E => F
|
||||
$(call swap,$(E),$(F),$(FILE2))
|
||||
# F => T
|
||||
$(call swap,$(F),$(T),$(FILE2))
|
||||
# T => G
|
||||
$(call swap,$(T),$(G),$(FILE2))
|
||||
|
||||
# Tarmak 3: ETR
|
||||
tarmak3: tarmak2
|
||||
grep -v '$(S)\|$(D)\|$(R)\|$(G)' $(FILE2) > $(FILE3)
|
||||
echo '! Tarmak 3' >> $(FILE3)
|
||||
echo '! Reset Tarmak 4' >> $(FILER)
|
||||
# S => R
|
||||
$(call swap,$(S),$(R),$(FILE3))
|
||||
# D => S
|
||||
$(call swap,$(D),$(S),$(FILE3))
|
||||
# R => J
|
||||
$(call swap,$(R),$(J),$(FILE3))
|
||||
# G => D
|
||||
$(call swap,$(G),$(D),$(FILE3))
|
||||
|
||||
# Tarmak 4: ETRO
|
||||
tarmak4: tarmak3
|
||||
grep -v '$(O)\|$(SC)\|$(P)\|$(R)\|$(Y)' $(FILE3) > $(FILE4)
|
||||
echo '! Tarmak 4' >> $(FILE4)
|
||||
echo '! Reset Tarmak 4' >> $(FILER)
|
||||
# O => Y
|
||||
$(call swap,$(O),$(Y),$(FILE4))
|
||||
# ; => O
|
||||
$(call swap,$(SC),$(O),$(FILE4))
|
||||
# P => ;
|
||||
$(call swap,$(P),$(SC),$(FILE4))
|
||||
# R => P
|
||||
$(call swap,$(R),$(P),$(FILE4))
|
||||
# Y => J
|
||||
$(call swap,$(Y),$(J),$(FILE4))
|
||||
|
||||
endmsg:
|
||||
@echo
|
||||
@echo "Finished successfully!"
|
||||
@echo
|
||||
@echo "You can now switch to another layout using one of:"
|
||||
@echo
|
||||
@echo " xmodmap $(FILE1)"
|
||||
@echo " xmodmap $(FILE2)"
|
||||
@echo " xmodmap $(FILE3)"
|
||||
@echo " xmodmap $(FILE4)"
|
||||
@echo
|
||||
@echo "And if you want to reset back to your current (qwerty) layout,"
|
||||
@echo "just call this:"
|
||||
@echo
|
||||
@echo " xmodmap $(FILER)"
|
||||
@echo
|
||||
@echo "When you are done with Tarmak 4, run the $(FILER) file and"
|
||||
@echo "switch to the Colemak layout using your DE (desktop enviroment)"
|
||||
@echo "settings (or run setxkbmap -variant colemak)"
|
||||
@echo
|
||||
@echo "Tip #1: Open a new terminal window in this folder and type in"
|
||||
@echo " "xmodmap $(FILER)" so that you can just press enter if"
|
||||
@echo " you get cold feet."
|
||||
@echo
|
||||
@echo "Tip #2: Do a \"ln -s $(FILE1) ~/.Xmodmap\" to run $(FILE1)"
|
||||
@echo " when you log in."
|
||||
@echo
|
Loading…
Reference in New Issue